HNHacker News
TopNewBestAskShowJobs

yogsototh

2,489 karma · joined June 7, 2010

- https://yannesposito.com - https://her.esy.fun
submissionscomments
yogsototh··on Dwm.vim : Tiled Window Management for Vim
I've also done that. Using it with NERDTree, my typical vim session looks like (I select files in NERTree using `i` most of the time):

    +-----------+
    |   |       |
    | F | S1    |
    | i |       |
    | l |-------|
    | e |       |
    | s | S2    |
    |   |       |
    +-----------+
yogsototh··on 256 CSS Classes Can Override an #id
red box on Safari 6.0 on OS X Mountain Lion
yogsototh··on My biggest problem with Vim
I also came from vimperator, and now I use pentadactyl. You should give it a try if you don't already know it.
yogsototh··on Still running strong after 1,532 days without a code change.
I don't remember all details. My co-workers searched to understand the bug and he discovered that changing the creation date for just some second made the bug disappear. I then discovered he called the function with a bad argument. Strangely using an integer instead of a time object (I am not sure about that but you get the idea) will render the exact same result most of the time. I corrected the bug by using the right function call. I then tried a brute force search to discover for how many time the bug occurs. And if remember well there were two close period of a few second each during wich the function bad called render a different result. It was something like 17 second and 3 minutes later another 10 second. I believe I simply tried for the current year. I might have tweeted about it some years ago.
yogsototh··on Still running strong after 1,532 days without a code change.
My best example is a Perl bug I corrected.

It occurred only 27 second by year! Just to think about the probability to detect it knowing the code is used only about twice a week.

yogsototh··on Paid Vacation? That’s Not Cool. You Know What’s Cool? Paid, Paid Vacation.
I heard that a technique at "France Telecom" to manage mail after holidays was quite simple.

1. Delete all mail 2. If it was important, they will contact you again.

yogsototh··on Ask HN: Personal password storage and usage
I created and use YPassword[^1]

[^1]: http://ypassword.espozito.com/Scratch/en/getit/

yogsototh··on PwdHash
This is one problem I encountered while using YPassword. My MobileMe password was compromised, then to change it, I simply added a parameter (the number of the password).

The new password is then

  hash ( masterPassword . url . number )
yogsototh··on PwdHash
Yes, as @tlrobinson suggested me, I should use bcrypt instead of SHA1. At the time I created ypassword there weren't any bcrypt js code. There is one now, and this will be my next update.

In fact, I tried to port scrypt to js once. Reading the article about scrypt it felt not so hard to achieve. But I was afraid to introduce implementation error because some parameter aren't specified as clearly as I would have liked in the article.

yogsototh··on PwdHash
I started to created ypassword to manage many different password on many different websites. The main principle is mainly the same as yours. The formula is (mostly)

    password = base64(sha(site,masterKey,number))
I added the number once one of my password was compromised and I wanted to update it. Using this number it is not so difficult to update to resolve most stupid limitation on password. Almost all my password are good without using this parameter.

Considering the compromised master key, if it is compromised, shouldn't you in the end replace all your password for any password storage system? Unless you are pretty sure your keychain datas weren't accessed?

Concerning KeepassX I believe this is more secure than the "generate using your master password + website". But for now I continue to use my generated password simply because I find it hard to synchronize all the passwords on all platform. I don't like to use Dropbox or any "cloud" equivalent system to synchronize my keychain encrypted file.

Using the generation method you generally don't need to "remember" anything other than your login. And at most you have to remember login + length of the password + format (b64 or hexadecimal) + number. But this is generally not the case. And these data can be shared publicly with a reasonable risk that your password won't be cracked.

I haven't (as most people) found the best way to manage my password in the most secure way. But actually the generation scheme feels like a good enough system.

yogsototh··on Writing a CV in LaTeX
I've passed through many different steps. I've tried Inkscape, LaTeX, XeLaTeX, HTML.

Now, I've developed my own system. I write the source in markdown and I can export in HTML, PDF and online SVG exported from the PDF.

It has been some time I didn't updated it but you might find this useful:

http://resume.espozito.com/index.html

Some source code can be found here

https://github.com/yogsototh/krambook

yogsototh··on Yesod 1.0 - a robust, friendly, high performance web framework for Haskell
Mainly, I believe that most the energy put in Yesod goes on the problem I find the most important.

- Security by default, directly imported from the Haskell type system.

- Fast, also, because Haskell is quite fast compared to most languages used for the web.

- Able to manage a lot of concurrent connexions,

- Incredible foundation language, Haskell is simply awesome (look at my latest blog post for details[^1]).

On the other hand, IMHO, the future of the web might be:

- an API server as good as possible (fast/distributed/clever)

- many good quality dynamic (and generally native) clients

Therefore, I find most of the effort put in the HTML/CSS/JS generation while impressive not so essential for what I look. On the other hand, the notion of Yesod's widget is a very clever first step in the direction of web component abstraction. So in conclusion, yes, Yesod went a step further from what I expected from server side web technologies when I discovered it.

[^1]: http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way...

yogsototh··on My Git Habits
You might like this tool (I read the article using this):

http://readable.tastefulwords.com/?setup&change&text...

yogsototh··on The Day Python Embarassed Imperative Programming
m a: means a type which take a parameter (another type).

For example,

data Maybe a = Nothing | Just a

    - The m is for "Maybe"
    - The a is for "a"
For example:

    (>>=) (Just 3) (\ x -> Just (show x))
should returns: Just "3".

    (>>=) Nothing (\x -> Just (show x))
better written

    Nothing >>= (\x -> Just (show x))
should returns: Nothing
yogsototh··on Vimbits: submit and vote on .vimrc tricks
This, and a "hot" section. To get a constant flow of new and good entry. For example, by showing the best of the month/week/day.
yogsototh··on Math Puzzle: Lion in Circular Cage Puzzle
I believe the Lion can go as close as he wants to the tamer but never have both the same position. If you consider the Lion and the tamer have a size, then in a finite time, the Lion reach the tamer.
yogsototh··on Math Puzzle: Lion in Circular Cage Puzzle
I believe it works only if the Lion and the tamer have a non null size (not represented as point). I am not sure of this, but if you represent the Lion and the tamer as points, the Lion can go as close as it want to the tamer, but never really reach him. Of course considering the tamer is on the border.
yogsototh··on Show HN: Landing page for our LSM Boston entry
I really like the video. It is clear, short and nice. I wouldn't change anything.

But as a geek, I would like to access more informations.

1. Screenshots, or even better anonymous demo. 2. How do you get my RSS/twitter/reddit/HN feed. For example do you get my list of subscribed sub-reddit? Do you connect to Google Reader? 3. It is clear you'll be using some machine learning technique to learn from my preferences. Do I have to vote? Have I the possibility to tell I didn't like an article? etc...

yogsototh··on Ask HN: What would you work on, if money was of no concern?
Nice question, some answer are pretty sad though. Particularly the one of binarymax ("PhD in Computer Science"). Money shouldn't be an issue to learn.

If I have a lot of time (not only money). I would certainly work in Artificial Intelligence or Artificial Life. I believe this is where I would be the most efficient in discovering something useful for the rest of the Humanity.

Sadly, even with a PhD in Machine Learning, I lose most of time resolving trivial issues or making trivial softwares.

yogsototh··on Why, oh why, do those nutheads use vi?
In fact learning vi/m is a lot like learning to play a music instrument.

It is a pain to start using vim. But if you reach a certain level you start improving more and more. Concerning vim, it should takes some weeks to be as efficient than with notepad.

I written this article which also might help you:

http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressiv...

Don't give up! It will pay faster than you think.

yogsototh··on France convicts Google Maps for unfair competition
I am with you, it's a shame.

The next time they'll sue Linux or the free press.

yogsototh··on Beginners Guide to HTML/CSS
I know exactly this bad feeling when going to a website with great content and terrible design.

I am pretty sure you know about these, but just in case.

To address this problem I used readability from arc90. Now I use a solarized[^1] version of readable[^2].

Cheers :)

[^1]: http://ethanschoonover.com/solarized [^2]: http://goo.gl/jISPf => will go to http://readable.tastefulwords.com/ with solarized theme (my tiny contribution).

yogsototh··on Beginners Guide to HTML/CSS
It seems you are right. The low color contrast on a small disabled part of this website seems to be the major shared point of view.

Sincerely, it wasn't a personal attack. I am just sad a short comment about the look & feel make the top instead of a comment about the content.

Even if in the end, I tend to agree with you that this color contrast is a design error.

ps: Also, if you visit my website, you will see I am fully aware of accessibility and try to take a good care about it.

yogsototh··on Beginners Guide to HTML/CSS
First, this kind of comment about the appearance of a website should be done by asking directly and nicely to the author. For example you can easily direct message him on twitter instead of polluting the HN comment thread which should always contain useful and informative comment.

Second. I can read them pretty nicely on my computer. It is clear a lot of work was made to make this website very nice. Your comment is a bit harsh.

Third, you are on HN, you should know how to read the code without being angry.

yogsototh··on Show HN: TrollBlock, It's Okay to Dislike
I cannot agree more. I deleted my facebook account.
yogsototh··on Vivify: A color scheme editor for vim
Me too, I used zenburn before, but I slightly prefer solarized.

I love solarized so much I even use it to read the web:

http://goo.gl/jISPf

ps: I minified the URL because the real one is extremely long.

yogsototh··on Haskell web programming (a simple tutorial)
I am sorry if I didn't made it clearer. Of course, you don't need to know Haskell to follow this tutorial in particular.

But it is clear in my mind, you must know Haskell to do something useful with it. And in particular, make a web application, even if using a web framework.

As you stated, Haskell is not a language you could learn in 3 hours like I learned the bases of Python. It takes a very long time to learn, particularly when you're not used to functional programming.

But an intent of this tutorial was to promote Haskell. Clearly, if someone want to do something a bit more useful, he will very soon realize he must understand Haskell.

I added a specific advice in my conclusion similar to yours and pointing some essential resources.

yogsototh··on Haskell web programming (a simple tutorial)
Thanks.

The source code of my website is here:

https://github.com/yogsototh/Scratch/

And even if not clearly stated, everyone is free to use it and steal from it. Of course, I'd appreciate to be mentioned.

If you want to have the full behavior you should copy not only the css but a bit of js.

More precisely:

  output/Scratch/css
  output/Scratch/assets/css
  output/Scratch/js/init.js
  + jquery
You should have a functioning website which will be iPhone/iPod friendly.

You certainly also need to get the layouts:

  layout/article.html
  layout/default.html
Unfortunately, I didn't finished to switch to HTML5, the current code is XHTML strict 1.0. You can have a preview of my HTML5 transition if you look at the html5 branch. But I'll have to duplicate a lot of CSS modifications since.

If you want any more information, simply mail me, I'll be happy to help.

yogsototh··on Haskell web programming (a simple tutorial)
I disabled animation for chrome.
yogsototh··on Haskell web programming (a simple tutorial)
In my experience the programmer workflow is (mostly):

  1. You think about an algorithm
  2. You (try to) code it
  3. A first time to discover an error: compilation and/or syntax verification.
  4. Then you test your code
Depending of the task and the fail, if 3 or 4 fail you go to 2 or 1.

With a standard language (C/C++/Java/Python/Ruby/Javascript...) The probability of 3 to fail is very small when you are used to your language. But the probability to fail at step 4 is High.

In haskell this is exactly the opposite, with many advantages:

Compiler error in Haskell gives you a meaningful and informative message. Most of the time, it even gives you a hint on how to solve the problem.

In the end, most of the time, once the compilation phase passed, my program worked as I expected.

Furthermore, with Haskell you can use quickcheck, which most of the time will make better test than yours. I know there is some quickcheck equivalent in other languages but I believe this is not standard.

← PreviousPage 3 of 6Next →