HN user

sherwin

60 karma
Posts4
Comments42
View on HN

Could you share more about how you've used it for less structured information? I've used Anki for about 3,000 Chinese words, and also some structured information (world capitals / countries). I've been experimenting with Anki for more conceptual knowledge and it's not nearly as easy.

I think the main point here is to avoid general catches and instead catch specific exceptions.

The author raises the interesting point that if it's truly an exception, you're better off letting the system crash all together (especially in a webapp, where you're basically dropping a single request for a single user) -- and if it's an "expected exception", then you should be handling it directly.

I don't see how that reduces to "never use try/catch" though, since catching a specific exception (or types of exceptions) is a way of "handling it directly."

Something about this just strikes me as arrogant. Please enlighten me if I misunderstood ...

"How does it work?

We communicate with Snapchat's servers and pretend to be their mobile app. This gives us access to everything that you can do through the mobile app. For example, we can send messages, view (and save) messages, create new accounts..."

That's a detail that's not relevant at all to their "users" (the people sending in snapchats). It sounds like they're bragging about their circumvention of Snapchat's lack of an API.

I don't want to diminish the technical accomplishment here -- reverse an engineering an API and writing a Snapchat bot is impressive. But, as other posters have pointed out, they're likely violating the Snapchat terms and misleading their "users."

The says that a big barrier to adopting 'open source science' is the prestige that comes with publishing in heavy weight, closed journals. It then draws the comparison to software, and why open source software is quite successful:

> Addressing this issue, Toni references the open spirit amongst coders working on open-source software. “There’s no reward system right now for open science. Scientists’ careers don’t benefit from it. But in software, everyone wants to see your GitHub account.”

This got me thinking. First, I think a large reason a lot of people (read: people in my bubble, mostly students / recent CS grads) use GitHub is precisely because of the prestige. I'd say the people who use GitHub without ever contributing to an open repo vastly outnumbers the people who do contribute. Instead, many people start using GitHub as a way to show-off their own projects -- the whole "GitHub as my resume" idea. But as more people do so, having a GitHub becomes a standard, and you get a positive feedback loop.

Second, how could we shift the status quo for science to associating prestige in an open system? I'm not familiar with the history of open source software, but I wonder if there are any parallels from how OSS grew that we could apply to science publishing.

Finally, there's a big systemic difference between doing collaborative science and writing open source software I can think of: the barrier to entry to software is much lower. A lot of hobbyist programmers contribute to open source projects (or at least have a GitHub account, which feeds more attention / prestige to the ecosystem), whereas it's pretty hard to contribute to science without both a graduate education and (in many fields) expensive equipment.

Semi related question -- how is this implemented security wise? I took a look at the github repo and it seems to be all clientside JS, and it's just making ajax GET search requests to StackOverflow, then parsing the results. Isn't this prevented by same origin policy?

I haven't used an iOS device since I switched to the Galaxy Nexus about 5 months ago. How does this compare to Google Now on android 4.1?

In general I've been very pleased with voice search on Google Now -- just reading the blog post I wasn't too amazed by the examples they gave for iOS because it sounds identical to what Google Now provides. I assumed that Google would release these features for android before iOS, but am am surprised by the overwhelmingly positive comments others here have to say here. Can anyone do a comparison and shed some light?

I do have to say that Google Now is sometimes rather slow -- the voice recognition is very fast (type as you talk realtime) but web search can sometimes take 10+ seconds to load even when already connected to wifi. Other times, it just works.

I'm not sure having a modal is the best idea -- aren't modals generally frowned upon because they require a mental recontextualization and disrupt the user's flow? I'm just curious if anyone else had this thought.

Although I can see why having a prepackaged one-button solution would make sense, where Stripe takes care of the presentation / styling / inputs, so there actually is a change of context.

For the record, I use Stripe at my company, and I love it!

NoPassword 14 years ago

One big problem with this approach: what happens when your email is down? Does a website really want to tie its availability to that of Gmail / other web mail services?

Productivity Porn 14 years ago

I'm quite interested in productivity hacks and I've adopted / created a few systems of my own. The key insight in the OP, that you'll eventually do what you truly care about, is one that took me a few years to realize, yet unfortunately it's also a vast simplification.

For me, there are many tasks that I know I enjoy, whose results I know I care about, yet, if left to my own devices, I don't go and do them because the activation energy is too high. I offer two examples: running (I always feel great afterward and I know it's good for me, yet it's a hassle to actually get out there and run) and working on side projects (I love learning and building, yet I don't do it as often because I get mentally blocked by how overhelming a project is before I begin).

Previously, I would make up excuses (I don't have enough time... too busy... much school work... overcommitted) and my personal projects languished as I got caught up in external commitments. The biggest tip in my productivity system is this: Every month/week/day, write down the one thing I most want to accomplish for that time period, that I would likely not accomplish otherwise. If I can accomplish that one thing, I can call that day/week/month a successful one. I track my progress and results as well.

With this one objective system, I found myself delegating time for these projects and implementing all sorts of hacks to reduce the energy barrier of starting these projects.

Another way to think of this is how you structure your priorities. Instead of saying 'I don't have time', try saying 'it's not a priority' [1]. This lets you tell exactly what you do care about, and frequently, that set of things you care about is still larger than the set of things you get done.

[1] http://online.wsj.com/article/SB1000142405297020335870457723...

The biggest problem I foresee here is that there would be no tactile feedback -- it's essentially the inverse of using a touch screen! You wouldn't know whether your "lift-click" actually went through or not, whereas on a normal mouse you get that very satisfying physical click as feedback.

Can anyone think of a way to get around this issue? Very cool idea by the way.

I think Ruby does a pretty good job with this, as far as an object oriented main stream language goes. For example, the switch case example from the article can be implemented in ruby as case n: when 1: "one" when 2: "two"

etc, and the entire construct can be assigned to a variable because it is an expression.

As an aside, ruby 1.9 also supports generic predicates for case statements through lambdas, which is very concise and powerful. Example: https://gist.github.com/838163, source: http://flazz.me/predicates-in-ruby-case-statements

This really makes me wonder what took Google so long. Google practically defined large scale commodity cluster computing with mapreduce (2004). Amazon EC2 was launched in 2006. The closest thing Google has done was app engine, and my understanding is that was not a tremendous success. Does anyone have any explanations why Google didn't move into this space earlier?

I disagree. Certainly some agencies may have data that ought to be examined holistically via CSV (at least for researchers?), but having data available via API is better than the status quo.

While this might not set a "high bar for the quality of information," the President's effort shows a level of commitment to both technological streamlining of government agencies and to transparency and is, at the very least, a step in the right direction.

Chromebox 14 years ago

I used a Chromebook (Samsung Series 5) for an entire academic year as a student. The biggest benefits were having everything synced in the cloud (so you're not too attached to it), extreme portability (super thin and super light, instant on is fantastic) and ~10 hours of battery life. I charged the thing about once a week!

However, I question who would get a Chromebox though, because the portability + battery life + instant on are no longer relevant in this case, and those were by far the biggest benefits for the Chromebook. For a little more (~400), you could get a very respectable machine running a more powerful OS.

Some general thoughts on my experiences with the Chromebook: As a general computing device, I thought it was more or less completely sufficient. I used it to take notes (google docs / evernote) in class and it was awesome for that (light and portable).

With more than 7-8 tabs, things can get slightly sluggish (read: not instantaneous). Running more than 15 or so and you start getting serious performance issues. This is less of a problem than I thought because it forces me to maintain focus (I regularly can have >100 tabs when using my desktop). Full screen 1080p video also was sluggish.

It has a shell, so you can SSH and code also.

Frequently less technical friends would ask "but ... it only runs chrome?" to which I respond "well what can you not do in chrome?" and they have a very hard time giving an example. With gmail / calendar / docs / evernote / your music web app service of choice / etc, almost everything can be done in the browser.

To be fair, I also use a powerful desktop for more intense tasks (photo editing, coding, and occasional gaming). I doubt I would use the chromebook/box as my primary computer.

First, this was a very well-written article -- if you only skimmed the first page, go back and read the rest! I think it describes an interesting founder (well, chairman-founder) dynamic.

Second, was anyone else slightly reminded of Steve Jobs in his earlier days? Maybe it's because I just read the Steve Jobs biography, but Chasen seems to demonstrate a lot of the same characteristics: desire for complete control over the product, strong vision, disregard for more practical matters (marketability, cost), belief that the product qualifies as art, and mild tendency to be reclusive, stubborn, or uncommunicative.

I think the original article (the talk by Phil Libin) was targeted for a more general audience, which qualifies his suggestion not to do a statup. Libin writes:

"I’ve narrowed it down, really boiled it down, to one core piece of advice. If I can only say one thing, and I don’t know you any better, it’s: don’t. Don’t do it. Seriously."

The key part here is "If I can only say one thing, and I don't know you any better" -- for MOST people, starting your own company is not a good idea! Especially if you'd be doing it for any of the misconceptions that Libin outlines.

However, it is odd that Libin chose such an approach given that he was speaking at a conference with a big emphasis on web start ups.

CSS3 Scroll Effects 14 years ago

Very nice, but I don't think this improves UX at all. How does having an animation for something help the user understand what's going on? They know something is scrolling because they see the data changing -- a flip / slide / other animation is not necessary.

In fact I think it interferes with UX because it's harder to quickly read the list -- you need to wait for the animation before reading the text. The only exception to this is Skew (because the item text is always visible), but even that is harder to read than just a normal list without the animation.

Very impressive demonstration of CSS3, but just because you can doesn't mean you should.

Codename: Obtvse 14 years ago

I think there's actually a surprisingly good analogy to music here: those "play X on the guitar" tutorials. The original artist plays the song, someone else hears it, figures out how to play it by ear, then offers to teach it (probably their own version/interpretation of the song) for free. Similarly, the OP saw a design, figured out how to code it up himself, and decided to share it with the world.

Google Play 14 years ago

But that at least is using the bold primary colors associated with Google's logo. The Play logo uses off-colors (this goes beyond the logo, look at the main page: movies/music/apps and games/books are in the same colors as the Play logo). I thought this was weird as well -- all of the other Google favicons (gmail calendar, docs, spreadsheets) have strong, bold colors used in the Google logo -- just glancing at the favicon I couldn't tell this was a Google site.

I wonder if this is intentional though; it seems very odd to depart from their traditional colors.

[dead] 14 years ago

Very cool! And if you paste it an ASCII only text editor (notepad) and you'll see a huge blob at the end. You can actually left arrow through the entire stack of diacritics.

I think we are talking about different meanings of "understand". You seem to be using the general meaning -- any expert in a field, given enough time and dedication, can gain understand both the high level complexity and the individual components of a complex system; I agree with you here.

But the sort of understanding I'm referring to, and what I believe the author is referring to, is a comprehensive, infinitely detailed understanding -- the sort of understanding of OS X APIs after internalizing 5000+ pages of reference.

I think this sort of "complete" understanding is not what we mean when we say a expert has an excellent understanding of a subject; instead, when we mean that that expert can work knows what is important.

For example, you could be an expert (and have an excellent grasp of the material) of some programming language, but if someone asked you about the exact name of a rarely used library call, you might not know it off the top of your head. You would know where to look it up, and you would know how to use it, and you would know that that library call exists, but you wouldn't recall the exact name.

I think many people can obtain these expert understandings of complex systems, but that's not what the author is referring to (or if he is, then I think his argument is unsound because no one would approach gaining an expert understanding of OS X by reading 11,000 pages of reference material). The author is talking about a unnecessarily detailed "complete" understanding in which you know everything about the system.

Yes, the author's observation is true, but I don't think it's particularly interesting for two reasons:

1) This isn't anything new. A complete understanding is not only no longer possible, it was never possible. What level of detail counts as a "complete" understanding? Even when computers were much simpler, you probably wouldn't have a thorough understanding of every layer of abstraction, from software to hardware to the physics of the underlying electrical components.

2) This sort of complete understanding is unnecessary anyway; these references exist as references for a reason. To do your job, you need familiarity and layered understandings of the relevant processes, and when you absolutely need to know the fine details of something, you can simply look it up.