Hacker News new | past | comments | ask | show | jobs | submit | mifrai's comments login

I've been investing in taking notes to enable better understanding of the material. I tend to follow Andy Matuchak's philosophy on note taking (https://notes.andymatuschak.org). But, I've only really started taking notes, so grain of salt about this.

Some thoughts and responses to what you've said:

1. I try to make sure anything I enter into my notes are intended to last, filtering/processing is a key step to that. This often means I won't enter notes unless they can contribute to my understanding of some lasting higher level concept. For example, I don't have any notes on tech library X, Y, Z. But I do have notes on concepts, like "Required accidental complexity should be avoided or separated" and if a library Z has a unique way of doing so, I may incorporate my understanding of the strategy to further my understanding of the concept.

2. My goal is less to simply collect links/articles, it's to process and assimilate. I write everything in my own words to clarify my understanding. I link it to other topics in my notes to help build stronger associations, which helps me ground and recall the knowledge. I'm also exploring whether I want to put some spaced repetition in with my notes to help keep pieces of information fresh.

3. I treat my notes as separate from my todo lists. The extra bit that these tools give you is the linking and clustering of information. I find the associations useful for encouraging identification/contextualization of where that knowledge sits in my current understanding and, periodically, discovering serendipitous connections.

4. I rarely revisit old books as well, but I also find that my recall of those books are terrible. Part of my note taking is to make sure that I have a better chance of understanding and taking away valuable information from those books. It's also worth mentioning that that I don't aim to have notes on the book, I aim to have new concept notes or updating existing concepts with new information.

So what domains do I find these apps useful? It's unclear to me how much I can attribute to the linking the app encourages. But, I do find myself recalling what I've noted much more frequently in my day to day as an software engineer. The identification and concretization of patterns/concepts has helped me be more articulate and have more clarity in my work, particularly when giving feedback to others.

All that said, everybody is different. This process might not work for you, or you may find you don't need it to get the same effects. I know plenty of successful people that don't. And if it doesn't work for you, I wouldn't worry too much about it.


If it helps, currently if you buy the Nexus 5X from Project Fi, it is about $150 cheaper than retail (Google Store) value.

https://fi.google.com/about/phones/ - 16GB $199 / 32GB $249


Things seems a little buggy. It just told me that alt+b was wrong for backward word in emacs, but that's what it just told me was how to do it in the learning portion of it.


Would following their advice of changing your password actually help in this situation? While it's a good practice in general, if I'm understanding this right, the attacker never has your password.


It's an xss attack that takes advantage of the fact that you're logged in, they don't need your password. The best way to avoid it is to only log into your account in a separate browser that's in incognito mode. That, or log out of your Yahoo account immediately after you've done your business with them and don't hit any other web sites while you're logged in.


This is what I'm wondering as well. My wife's account was a part of this hack yesterday, though oddly she never uses the web interface. Maybe she was logged in regardless. She changed her password afterwards, but maybe the solution is to just log out of your account to kill that auth session cookie?


Changing your password is the best way to invalidate your Yahoo! login cookies (which is what's apparently been stolen based on comments). To verify with Yahoo! mail, log in with two browsers, change password on one and you'll be forced to reverify with the other.


I think the Haskell example should've used this type signature instead. Compared to the OP's example, this has a much stronger implication. There's very few implementations of this type that would make sense, whereas with the other one - it could be 'count' of the number of times 'string' shows up in the map; Or it could be number of letters in the provided string (ignoring the map entirely); Or it could be (key - 1); or any number of other things.

Here, you can't just magic into existence or modify an unknown 'a' value.


I think it's still pretty unclear what this function might do, since the inverse of a map isn't well-defined. I think this is a type signature that makes sense and has a fairly obvious most-likely meaning:

    boo :: Map a b -> b -> Set a
I'm not sure how you would conjure up just an 'a' in general.


You also need an Ord or at least an Eq constraint on the b's.


I don't have a lot of trust in Dropbox caring about the casual users. [Votebox] is filled with suggestions around 3 years old that have generally gone unaddressed. And this is probably rationalized as "Dropbox works 'good enough'".

So, I'm not convinced Dropbox will do anything unless it is a "PR crisis"/publicly handled. They have their own earnings driven goals and I don't think discontinued Team members will blip on that radar. Maybe if it significantly inconveniences Team admins, but that doesn't appear to be the case - admins don't lose their data and it seems like they only have to click a button.

However, I'm not saying that this is an issue that should have been publicly addressed. I'm just saying that if it weren't, I wouldn't expect much action to be done on it.

[Votebox]: https://www.dropbox.com/votebox/all#votebox:popular:0


Honestly, I don't think danidiaz was trying to be clever so much as not knowing about the existence of filterM. A good chunk of the code was just an implementation of it:

    filterM' f xs = map fst . filter snd . zip xs <$> mapM f xs
So, given filterM, the code would have looked like

    nexist n xs = take n <$> filterM (fmap not . doesFileExist) xs
Which doesn't look clever at all and it's fairly easy to understand.


Yeah, I had forgotten about filterM.

By the way, I like the (fmap not . doesFileExist) bit. It´s cleaner and less cluttered than (\f -> doesFileExist f >>= return . not)


Cool, thanks!


and since Haskell has non-strict evaluation, we don't have to worry about generating too much data (list of inexistant files) for nothing.

Be careful here. Because you're in the IO monad, the entire list of files will always be computed first (ie. doesFileExist will be called for every file given).

Non-strict doesn't really buy you much here. The "expensive" operation here will always be executed. At most, you're avoiding converting some list-consing-thunks to a list.


Good for them on cutting bloat and focusing on what's important to them.

Bad for me as now I have to find another service to store my project binaries and (likely) add to my monthly bills.


You also need to do it right away, as they are shutting off uploads today. This isn't just deprecation, but immediate removal of a feature. If it were just deprecation, it would stay up to give people time to change their practices. http://en.wikipedia.org/wiki/Deprecation


It should be noted that they are leaving the existing uploaded files available.


I knew that but I didn't think I needed to say that, but it can't hurt. :)

It still leaves some prominent open source projects, including ElasticSearch, with extra work that they need to do for their next release.


True enough. Certainly a hassle for the people who used it.

Anecdotally, I was always surprised when I ran across it being used, as it was a relatively infrequent occurrence. It seemed to always work well though, when I did. I was even tempted to use it for a few projects. Guess I will have to seek other avenues. Be it s3, dropbox, cloudapp, droplr, or something else.


If your binary files are not huge you can always add them directly to your repo (they don't have a repo file size limit anymore). If we're talking about multiple GB just go for S3, we're talking about cents per month.


Don't do that. After a while it really adds up and slows down cloning times.


Yeah, I'll likely end up using S3. Or maybe even bitbucket.

But there's a very real and somewhat irrational negative emotional response when going from free to not-free. Or alternatively, from included in private costs to a paid for feature taken away.


Any time a feature is removed you are going to get people whining, no matter how small the feature.


Or each repo might have a corresponding repo where only binaries are pushed, and probably the raw link might be used as a workaround.


From their compiled heist docs [1]:

There are two things that compiled Heist loses: the ability to bind new splices on the fly at runtime and splice recursion/composability.

I haven't checked or read the doc thoroughly, but if it's what I think it means - all we get is hierarchal splices. Which is still a lot, but it's not quite as magical.

[1]: http://snapframework.com/docs/tutorials/compiled-splices


We still keep some of the magic by allowing you to run the old "interpreted" style splices at load time. These don't have access to dynamic data, but they do have recursion/composability. This combination retains most of the power while allowing a huge speed increase. It just means that to take advantage of both you have to structure things in a certain way.

At this point it seems to me that this structure also ends up being a desirable one for organizational reasons. But the jury is still out as far as whether there will still be reason to want more. We're aware that there might be good reasons to support this extra power and I have a pretty good idea of how it would be implemented. But I want to get more people using it in the real world before we address that issue.


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

Search: