HNHacker News
TopNewBestAskShowJobs

przemoc

699 karma · joined March 28, 2011

Cross-site thinking SW engineer.

Realist, pragmatist, strong-willed, strong-minded. Sometimes taciturn, sometimes loquacious. FLOSS enthusiast but still using Windows. Alpine Linux advocator.

submissionscomments
przemoc··on Introducing the Command Bar
No! Ctrl-[1-9], switches between 1-8 and last tabs in Chrome. I know that Alt-[1-9] works too, and is even more cross-browser (works in Firefox), but I still prefer Ctrl. I'm not sure why, though.
przemoc··on The Tiniest GIF Ever
I did a few tests some time ago and to obtain tiniest possible images on majority of files I have to do following sequences

PNG: advpng -z4, optipng -o7, advdef -z4

JPG: jpegtran -copy none, jpegrescan (that also uses jpegtran)

GIF: gifsicle -O3

They are quite time consuming (especially in case of PNG), but if you know any better sequences, please let me know!

przemoc··on Google shuts down mobile web app for Google Talk
One of problems, definitely not a big one, is accessing messages sent to you while you were offline. You have to sign in to gmail to grab them, because you want be notified about them via XMPP. (Assuming you have turned on storing of chats.)
przemoc··on The music classifying nightmare
What I lack (and I doubt I'm the only one) is well-thought-out tag system and more advanced players.

All textual entries (title, album, author, ...) should be stored in original language using original alphabet. Player could transliterate them if user doesn't know the alphabet (e.g. doing romanization of hiragana, katakana and kanji using Hepburn system for japanese music). Such entry should be able to store also a translated text, usually at least English one for non-English stuff.

That would solve also another problem the blog post author mentions, first name and last name ordering issue. Quoting Wikipedia:

"In Hungary, along with China, Korea, Japan and in many other East Asian countries, the family name is placed before a person's given name."

Thus in original language the order would be original, but in English one, Western-style, i.e. placing last name after the first name (and of course transliterated already).

It would be up to a user to choose what player should show her or him: original names, transliterated names, translated names.

But AFAIK ID3v2 and Vorbis don't support such stuff (well, you can try going with custom keys, but non-standard means mess) and I haven't heard about player that would do any transliteration either.

---

As for filenames I think that the best is Latin alphabet, with the most-widely used romanizations of non-Latin alphabets and simplifications of extended Latin alphabets (like removing diactric marks etc.). Clean visible ASCII!

I know that Asian people would mostly disagree on such file naming rule. :)

przemoc··on Twitter effectively killing JSONP too
It's not a strict answer, and I'm not the one being asked, but about doing "that" while having at least JSON alone, you can proxy the queries and wrap answers by yourself. E.g. in nginx you can use HttpEchoModule:

http://wiki.nginx.org/HttpEchoModule

http://www.gabrielweinberg.com/blog/2011/07/nginx-json-hacks...

przemoc··on 16 days since last ruby drama
Mind that she's not doing it in "local user group", so it's ok...

Leaving advocatus diaboli role, the local user group is especially great place to learn about mistakes and better ways, as embarrassment that hits you is not that big (after all the local group is relatively small, it's rather not hundreds of people) and we all know that no one knows everything, we're all learning for the whole life. If someone is willing to explain me why what I'm doing is wrong or why his way is simply better than mine, I'm all ears. I don't have to agree immediately, we can talk, dwell a little about it, but in the end at least I gain other PoV, that may become even my own later.

Well, correcting someone during presentation may seem as not the best time for it, but actually in _local group_ it is the best time. Strike while the iron is hot, otherwise people may commit wrong things to their memory.

---

The real problem is much bigger though. I noticed that lot of people cannot endure critique at all, even constructive one (and sometimes especially such one, if they somehow finally accomplished in their lives ways to ignore other types of critique). It's scary, because being criticized by your environment is a natural way of evolution and progress, as we all want to become better (or at least: most of us). Too gentle upbringing enforced in many countries (you cannot even smack your child for doing bad things, etc.) may be part of this spreading narrow and dangerous "delicate" mindset. It's even much worse that many communities (you can find them on internet a lot) disallow comments not resembling praises...

Really, do we have to be silent or say/write "awesome", "cool" or "great" in every second sentence, but we cannot say something is wrong, bad, lacking or incomplete as it may harm the presenter/doer/coder?

Where this world is going I don't even...

przemoc··on Amazon Officially Announces The New Kindle Paperwhite
So once they've taken (micro)SD port, they'll never give it back?
przemoc··on Unix Commands I Abuse Every Day
I have a tendency to use xargs too, but often you can go with find's -exec, especially "command {} +" construct used for spitting many files at once to the given command. E.g.

    find . -iname '*.pdf' -exec pdfgrep -i keyword {} +
przemoc··on Collapsible comments for Hacker News
If you're Chrome user by any chance, you can try also my simple extension:

NavigComments @ Hacker News

https://chrome.google.com/webstore/detail/aelihpmbbbpmljkdco...

Supports hiding comments marked as read.

Works only with http://, I have to add https:// one day, but I always forget it... Also some other things should be improved, then I could update NavigComments @ LWN too.

przemoc··on Show HN: Cross-browser asynchronous JS script loader w/callbacks
It's good to know other, already used, mature solutions.

yepnope is an asynchronous conditional resource loader that's super-fast, and allows you to load only the scripts that your users need. 1.7kb minified and gzipped. Check it out!

http://yepnopejs.com/

https://github.com/SlexAxton/yepnope.js

Another Script Loader?#?@$!@# - Why Use Yepnope? - quoting conclusion from the page:

> In short, we want you to make the right decision for your application. We can certainly think of times when yepnope.js would not be the correct choice for a resource loader, and we hope we've made those situations abundantly clear in our documentation. However, we also think that yepnope meets a lot of people where they are, when it comes to a balance of performance, usability, size and feature-set.

> If you have questions about if yepnope is right for your application. Send us a tweet or an email and we'll help you out. Most of us in the script-loader author scene are total BFFs and we aren't about competition, we're about pushing the edge. In other words, we totally use LABjs and RequireJS in a bunch of our projects, because they're badass (and the other ones are probably great too!).

przemoc··on Plugins you should put in your vimrc
Before snipMate came in 2009, snippetsEmu was already out there, since 2005! It's true though, that snipMate may seem more robust.

Check also pkrumins' Vim Plugins You Should Know About:

http://www.catonmat.net/blog/vim-plugins-surround-vim/ http://www.catonmat.net/blog/vim-plugins-repeat-vim/ http://www.catonmat.net/blog/vim-plugins-matchit-vim/ http://www.catonmat.net/blog/vim-plugins-snipmate-vim/ http://www.catonmat.net/blog/vim-plugins-a-vim/ http://www.catonmat.net/blog/vim-plugins-nerdtree-vim/ http://www.catonmat.net/blog/vim-plugins-ragtag-allml-vim/

przemoc··on Datavisualization.ch
Nice set. I believe I was there already once (wasn't the address a bit different back then?), but managed to forget about it.
przemoc··on A 4G LTE base station running entirely in software on a standard PC
So true and so sad! Indeed, pretty rare thing here.
przemoc··on I'm Not Japanese
It's not randomly. In work I use Iceweasel for private gmail (and Chrome for company gmail), where I have set Results per page to 100 and chose to Never show Instant results long time ago. It simply does not work!

I go to google.com, start typing and Google starts showing me some instant results and hitting Enter gives me only 10 results per page. (The same settings are respected for non-private gmail in Chrome, though.)

przemoc··on Show HN: A date range picker for Twitter Bootstrap
Sure. I was simply put off, because of all these appraisals and lack of sober evaluation. Mea culpa.
przemoc··on Show HN: A date range picker for Twitter Bootstrap
It's sad how more and more people ignore non-mouse-or-touch-oriented users in their UIs. What about damn old keyboard support? Even if I modify input, nothing changes in UI. I'm not even mentioning such things as being able to easily navigate through days and months using arrow keys...

Nice-looking UI -/-> Good UI

And even more:

Nice-looking UI -/-> Good UX

przemoc··on Nokia sells Qt to Digia
So what Atlant Schmidt wrote on development(at)qt-project(dot)org ML [1] came true.

Somehow it looks like this whole open governance transition of Qt was aimed to lessen disturbance of the inevitable sell off.

[1] http://thread.gmane.org/gmane.comp.lib.qt.devel/5502/focus=5...

przemoc··on 2:40
Be aware of superheating!

Well, don't worry unless you have a really smooth cup and going for 5-10 minutes or more...

przemoc··on Smart/lossless compression algorithm for repeating data structures
Or LZ4. http://code.google.com/p/lz4/ http://fastcompression.blogspot.com/2011/05/lz4-explained.ht...

Atm snappy seems a bit more mature, though.

przemoc··on Advanced Bash Scripting
ABS can be handy for some quick look up, but if you want to learn Bash then go with Greg's Bash Guide:

http://mywiki.wooledge.org/BashGuide

Check also the list of Bash online tutorials:

http://wiki.bash-hackers.org/scripting/tutoriallist

przemoc··on The + operator has been replaced.
I'm getting suggestions over my original queries definitely for some time already, as I stated earlier. Maybe it's because I am constatly logged in, and this new "great feature" was postponed for general use, i.e. all users. There were cases of such incrementally introduced features before.
przemoc··on The + operator has been replaced.
Can be handy, thanks for this, but some chrome extension/firefox add-on/etc. would be possibly better (haven't searched for such actually, strange, I should or even write such!).

Also: don't only promise! Put privacy page right there and explain what you explained here (maybe even in greater details, people love transparency), so every user we'll be able to obtain same information.

przemoc··on The + operator has been replaced.
Well, Google is known to be doing many evil things, like providing different results in different countries for same queries in same languages (and no, it's beyond personalization). They obviously have some agreements with govts and such to filter some content etc., so I wouldn't be surprised if there was much more to it.

Despite all these left-handed actions, Google is still the best search engine and it rather won't change in upcoming future. The thing is while I criticize Google, I still use their search engine daily, gmail, reader, etc., because after all they have really useful products.

przemoc··on The + operator has been replaced.
It's a matter of conventions. Look at Linux kernel for instance. Error codes are positive, but if function is returning error, then return code is -error, i.e. negative and it's pretty sensible solution. Mind that in case of syscalls, errno stuff comes from glibc, which wraps syscalls to set errno and return -1. So searching for -error is not something awkward, but, as stated earlier, you have to quote it in google to make it work.
przemoc··on The + operator has been replaced.
He may just predicted: quotes will always guarantee intact query (hopefully it won't be broken ever), so they're ultimately giving you better results.

If you think from the current perspective many changes and constants we've seen or we're seeing now in the world (not only IT-related) were predictable, yet not everyone had courage to express them to others. You have to be careful when laughing at others views and ideas.

przemoc··on The + operator has been replaced.
Informative comment, i.e. not really a response. For those who don't know correct term yet (I didn't up to 2 years ago).

Florin_Andrei refers to so called scare quotes. Wikipedia explains them as follows:

"Scare quotes are quotation marks placed around a word or phrase to indicate that it does not signify its literal or conventional meaning."

Raphael is obviously right here (but mind that sarcasm is only one of scare quotes examples). Let me quote (w/o scare) Wikipedia again:

"Use of the term "scare quotes" appears to have arisen at some point during the first half of the 20th century. Occurrence of the term in academic literature appears as early as the 1950s."

It's only about academic existence, but even considering real existence, it won't be much earlier.

http://en.wikipedia.org/wiki/Scare_quotes

przemoc··on The + operator has been replaced.
Seriously, I was wondering today whether I should ask HN what you think about these google smart inflection and alleged misspelling detection.

I am so tired of this. I do mistakes (after all errare humanum est), but I do it rarely, yet I am enforced to use quotes practically all the time (I am doing it since many months at least, don't remember exact moment, but I think in 2010 there wasn't automatic I-know-better, but only suggestions, correct me if I'm wrong, please). It's such a PITA. Is there maybe some secret search switch that can be used (and turned on in Chrome by default hopefully) to allow me avoiding typing quotation marks (") more than many hundreds times a day. And I still unconsciously always write without them for the first time, and, surprisingly, sometimes get correct results when the terms are ultimately known by everyone.

Before Google only suggested what I am possibly searching for. Why it is so sure now (i.e. this year) to make my original queries second-class citizens? Unbelievable and abominable poise.

przemoc··on Show HN: validate.js - lightweight JavaScript form validation library
You may consider adding more sophisticated validation routines.

Check my ruby snippet for possible inspiration:

https://gist.github.com/571093 (IBAN, ISBN, ISSN, VATIN and some other numbers used in Poland)

przemoc··on Ask HN: NodeJS for large scale projects
Due to its nature NodeJS is performance-wise still a better solution than any Python-based one, at least for now. And it's async in core and by rule, thus nodejs modules are async too, yet no async-motto is coupled with Python, so it's much harder to get async-ready libs suiting Tornado. Therefore COTS-wise NodeJS is actually also a better solution.

But in the end the most important thing is whether you're more familiar with Python or JavaScript and which solution will be more productive for you. Unless you're going for really large scale project and want to shorten your time by using existing modules, Tornado is obviously as good as NodeJS.

Loosely relevant: http://amix.dk/blog/post/19484#Comet-with-node-js-and-V8

przemoc··on Ask HN: critique my blog?
With simplistic design there isn't much that can be done wrong. This is a good thing. But OTOH in such case it's also hard to provide universal tips as tastes regarding minimalism and such are different across the globe. Therefore you cannot please anyone, but aiming for majority is achievable.

IMO in design one of the most important things is keeping, what I call, the C^3 rule. Design must be Clear, Consistent and Coherent. Creativity is not obligatory, may improve user experience, but may also worsen it. Be careful.

Clear meant as easy to follow and understand but also as tidy.

Consistent meant as lacking any contradictions but also as thought-out well enough to avoid any changes for longer period of time.

Coherent meant as expressing your product as unity, where all its parts conform to the same rules and contribute to overall look'n'feel (hopefully in a equal or similar manner) but also as suiting the content.

So let's check it.

C1. Approachable? Yes. Neat? Yes.

C2. Lacks contradictions? No, see qxb comment [1]. Future-proof? It depends [2].

C3. Cohesion? Yes with minor flaws [3]. Does look supports the text. Not everywhere [4].

[1] Beside "posts" looking like a link, its placement is also untoward. Why? Below "posts" there are dates. Are dates the most important parts of posts? No. So you have to fix viewers focus to the correct column, placing "posts" above titles.

[2] The question you have to answer is what you see in future in this blog. Will be there any non-date related pages like, let's say, "projects" or "photos". New sections in header will make it a bit heavier possibly even dominating over your above name.

[3] Your name is written lower-case, but post titles, showing at the same place (actually not exactly, which is another minor flaw) aren't lower-case. There is also not enough room to breath below the post title. Another thing is "me"+"faq" thing. "Me" links to about page and "faq" is actually about you too. "cv" is again about you. And these links are too close of each other. To deal with it you have several possible ways, e.g. 1) combining "me" with "faq" (incorporating /faq page into /about), so you'll have "me" "cv" or "myself" "résumé", 2) renaming these links to "who" "am" "I".

[4] Code snippets often does not fit in your text column, making it completely unbalanced and awkward. Wrap them manually (e.g. make 60-chars line a rule).

← PreviousPage 5 of 7Next →