HNHacker News
TopNewBestAskShowJobs

beernutz

427 karma · joined June 18, 2011

[ my public key: https://keybase.io/beernutz; my proof: https://keybase.io/beernutz/sigs/uNGerwScwG8P5DC_kTtZRW1MrDujKOzzQI-OYg1BaRU ]
submissionscomments
beernutz··on Skills Poor Programmers Lack
Maybe empathy comes in when trying to frame criticism in a constructive way that the receiver will internalize and find helpful?

In some cases, it might be better to ask them about reasoning around a particular bit of code than to offer alternatives right away. In others, a good idea or anecdote about something you found useful in that spot, might be better received.

In my experience, there is a good amount of empathy (or emotional awareness) involved in offering advice that will be accepted in a constructive spirit, and not seen as an attack.

After all, we ALL write bad code sometimes. A bit of code might seem like a good idea at the time, but could just be overly "clever" upon later inspection. A good review comment that does not point fingers seems like it would fall under the "empathy" umbrella.

beernutz··on Ask HN: Best things in your bash_profile/aliases?
There may be a typo in in this line

export HISTTIMEFROMAT="%d/%m/%Y-%H:%M:%S"

should HISTTIMEFROMAT be HISTTIMEFORMAT ?

beernutz··on Ask HN: What are best tools for web scraping?
The absolute best tool i have found for scraping is Visual Web Ripper.

It is not open source, and runs in windows only, but it is one of the easiest to use tools that i have found. I can set up scrapes entirely visually, and it handles complex cases like infinite scroll pages, highly javascript dependent pages and the like. I really wish there were an open source solution that was as good as this one.

I use it with one of my clients professionally. Their support is VERY good btw.

http://visualwebripper.com/

beernutz··on Godot Editor ported to WebAssembly
Right-click and drag does not work in Firefox, Windows 10 either.
beernutz··on Cachier: Persistent, stale-free local/cross-machine caching for Python functions
What does "stale-free" mean in this context? That term appears to be a little hard to google.

- edit: spelling

beernutz··on Ask HN: Do you still use browser bookmarks?
Holy smokes thank you for this link! I have been looking for a page archiver that would actually pull down ALL the files needed for a page and fix the relative links. All the others I have found simply ignore css includes like fonts or css images.

This one works great!

Finally!!

beernutz··on Ask HN: What're the best-designed things you've ever used?
I'll add a +1 to Total Commander. That tool along with several others REALLY make a large difference in day-to-day computer work.

I'll add these to the list:

* Clipmate. The BEST clipboard database.

* Evernote.

* AutoHotkey. Seriously, play with this a bit and you will see uses all OVER The place.

* Midnight Commander for Linux installs. Makes it a LOT harder to shoot yourself in the foot as well.

beernutz··on Nintendo Switch – New Video Game System [video]
Does anyone else think the controller stick on the right looks like a problem? I can't help thinking that I will keep bumping the analog stick if I attempt to use my thumb to press the buttons at the top.
beernutz··on Lepton image compression: saving 22% losslessly from images at 15MB/s
I don't think h.264/5 is bit-for-bit retrievable is it? Neuronexmachina might be wanting to be able to get back the 1:1 version maybe?
beernutz··on Simple Ways of Reducing the Cognitive Load in Code
I think part of the reason for doing it the way they do in the article is to reduce nesting. I saw the problem with missing the short circuit as well though which is why I like the suggestion of using

  if (isValidUser() && isValidData(data))

And checking for data being null in the isValidData method. There is a little overhead in the call and return if data is null, but the clarity provided seems like a win in these kinds of cases.
beernutz··on Symantec/Norton Antivirus Remote Heap/Pool Memory Corruption CVE-2016-2208
Ok, this is some dark humor:

It looks like the researcher sent a proof of concept zip file to symantec which was pw protected with a common password. Symantec's system then tried the common password, extracted the zip, scanned the POC code inside, which crashed their own system.

From the report: Project Member Comment 1 by taviso@google.com, Yesterday (42 hours ago)

I think Symantec's mail server guessed the password "infected" and crashed (this password is commonly used among antivirus vendors to exchange samples), because they asked if they had missed a report I sent.

They had missed the report, so I sent it again with a randomly generated password.

beernutz··on Mosh: the mobile shell
I can second the suggestion of MobaXterm. I am using it quite a bit, and their support has been fairly responsive to questions. Not open source, but still seems like a good product.
beernutz··on Arq 5: Massively faster backup and restore for Mac and Windows
I believe for CrashPlan, this ONLY applies to CLOUD backups. If you backup to local media or across computers, there is no "auto-delete" timeframe.
beernutz··on Feathers 2.0 – a minimalist real-time JavaScript framework
The site is linking to expressjs.org instead of expressjs.com. Is this intentional?
beernutz··on Google engineer writing Amazon reviews on USB-C cables that don't work
http://smile.amazon.com/gp/product/B00E3OL5U8
beernutz··on “I'm a Button”
Cute. I like it. 8)
beernutz··on Oculus Rift
Returned it to where? It is not even released yet. And the DK1/2 are not returnable.
beernutz··on Ask HN: What are your hobbies, and why are they cool?
Why in the world would you mod this down? It seems relevant and clear. Did I miss something?
beernutz··on Ask HN: What are your hobbies, and why are they cool?
Table Tennis:

It is a great way to burn calories, and gives me something to focus on/analyze and get better at. Using a body bug to track calories expended, I can burn ~4000 calories during a 2 hour session. It is a lot of fun, and you meet people from a LOT of different cultures. It is very international.

If you are in/near Des Moines, Iowa, check out http://dsmtt.org for the local details.

Also, check out http://pingskills.com for REALLY excellent videos that show you how to improve your game.

beernutz··on Carnac the Magnificent
Is it common practice to put the summary or "tl;dr" at the end of a long article? I thought the point of tl;dr was to give an overview or summary before the long article?
beernutz··on Google releases the first new site hosted on the .Google top-level domain
I completely agree. It annoys me greatly.
beernutz··on Stop using tail -f (mostly)
That looks very nice! Thanks for the info. 8)
beernutz··on Why Kevin Mitnick Is Still Breaking into Computers
Or to start a company to help people AVOID scams maybe?
beernutz··on Solving Exercism Problems – Learn with Peers
Maybe it's just me, but WOW those red/purples are hard to look at.

Maybe it would be better if they were not quite so intense/vibrant?

beernutz··on Show HN: Hashdog – MD5 breaker in Io.js/ES6
That makes sense. I wonder though if there is a better convention than "self". That by itself (to me at least) does not say much about which "self" we are describing. Maybe it is just a matter of personal preference, but I like to be more specific and descriptive.

It reminds me of the practice of using "throw-away" variables in for loops. Personally I would still rather name the variable "loop" instead of "i".

beernutz··on Show HN: Hashdog – MD5 breaker in Io.js/ES6
Interesting project.

I see in some classes you set the object "self" to "this" and use it later in anonymous functions. That seems to be a common pattern in a lot of peoples code.

It seems like naming the "self" object something more descriptive and specific would make sense in general, but I can't help wondering if there is a more fundamental reason for using "self".

Is this common in OO parlance for a reason?

beernutz··on Some HTML, CSS and ES2015 Best Practices
I like a LOT of these comments, but some just leave me scratching my head:

// bad void function() { /* IIFE / }();

// good (function() { / IIFE */ }());

To me, the "bad" one was more readable until I noticed you were invoking the function. Personally, I don't like either notation, but the point is that this example (along with quite a few others) seems to need more explanation to get the point across.

I would maybe think about defining "IIFE" as well as maybe sectioning off the more "functional programming" sections.

Thank you for taking the time to put this together.

beernutz··on Marilyn vos Savant and the Monty Hall Problem
Thank you. When you put it that way, it makes so much more sense to me. Opening the door does not change the odds. Why is that so counter intuitive?
beernutz··on Google broke telephony for many Nexus users
There are around 7 replies in that thread specifying they have a Nexus 6 and see the issue.

I have one, but have not noticed it. Though I always use it with a BT earpiece, so that might account for the difference?

beernutz··on FlickSurfer – a way to find Netflix gems
No, they really are not.

http://www.engadget.com/2015/01/03/netflix-clamps-down-on-vp...

Netflix tells us that there's been "no change" in the way it handles VPNs, so you shouldn't have to worry about the company getting tough any time soon. With that said, these blocking errors started showing up in the past few weeks, so it's not clear what would have prompted them.

← PreviousPage 2 of 6Next →