HNHacker News
TopNewBestAskShowJobs

mic47

481 karma · joined October 28, 2013

submissionscomments
mic47··on Lead-Free Solder Is Better for You
Depends on whether you breath in and breath into the pipe (which is not ok), or just breath in from the pipe, and breath out elsewhere (you will need some valve that will regulate the flow here).
mic47··on Gitlab's Guide to All-Remote
> To me, this implies a further disadvantage: extremely high latency when compared with in-person collaboration.

First, it's high latency, not extremely high latency. Second, it has huge advantages: 1.) While latency (in terms of how quickly you finish task) will increase, your bandwidth will increase too. Everyone get more done. 2.) With asynchronous communication, you are not interrupted by communication, you can do it in bulk.

In case there is something urgent, you always can do a call, or synchronous chat.

mic47··on Surge of virus misinformation stumps Facebook and Twitter
I think that the 20% comes from the percentage of serious cases (It was 20% in past, now it's 12% https://www.worldometers.info/coronavirus/ ). Problem with serious cases are that they need medical attention, so if all of us get infected medical system will not be able to handle 20% of population, so they will have to be without it...

That being said, not all of 20% needs ICU, and not all people will be infected at the same time (specially now since people are panicking). OTOH, if medical system will be DDOS'd, then also other people will die that need medical attention (so mortality for other illnesses will go up). So in theory it could be as bad as 20% if we would ignore the virus, let it spread to everyone as fast as possible and don't do anything. But that is not what is happening.

mic47··on Hacking up your own shell completion
If you want to have just persistent histry (really simple), you can use vanilla bash history something like. export HISTCONTROL=ignorespace shopt -s histappend export HISTSIZE=99999999 # Big enough number to never rotate history (or when you really don't care) export HISTFILESIZE=99999999 shopt -s checkwinsize export HISTTIMEFORMAT='%F %T '
mic47··on Hacking up your own shell completion
Sure, it's all here in my rc files repo, though scattered in this repo https://github.com/mic47/linux-configuration

Here are pointers: This install fzf into your bash, and apply small patch on fzf scripts to use bash history: https://github.com/mic47/linux-configuration/blob/master/scr... Some more fzf stuff to put into your bashrc: https://github.com/mic47/linux-configuration/blob/master/bas... This is .super_history setup: https://github.com/mic47/linux-configuration/blob/master/bas... https://github.com/mic47/linux-configuration/blob/master/bas...

This reminds me that I should probably modularize my setup.

mic47··on Hacking up your own shell completion
This is cool, I'll definitely add this to my workflow.

What I do is that I have custom bash history (with no limit on how many item there can be), that stores also an active directory, and id of the shell session. Then when I hit ctrl-R, it pipe that history into the fzf in special order: things from my current session history, then from the current directory, and then rest. This means, that if I come 2 months later to some older project and want to remember how to run tests / deploy, I just hit ctrl-r, and I find what I need.

mic47··on Things I Believe About Software Engineering
I read it more like this:

If you are building right thing, but you are not aligned, then you will not build the right thing and you will fail. But if you are aligned, it's easier to steer the ship closer to the right thing.

mic47··on Congrats! Web scraping is legal! (US precedent)
Legal: It will be hard to argue in court that you have right to create fake accounts. That is definitely against TOS, and at that point Linkedin can sue the company instead, so I believe it would scraper would not be successful at court.

Technical: This is actually what you want, as limiting scraping per user is easier than per IP, since IP can be shared by users, so your rate limits have to be higher for IP address than for individual user. Additionally, creating fake account is more work which will in the end making scraping more expensive.

mic47··on Congrats! Web scraping is legal! (US precedent)
I strongly disagree that not allowing scraping protection on social network is a good thing (reasons mostly from this thread https://news.ycombinator.com/item?id=22182144 )

What I would do on Linkedin side is:

1. Split public setting into 2 settings: public for everyone including scraping, and second choice that make it public for Linkedin users (aka banning scraping [1])

2. Everyone on Linkedin who have current setting public would go though dialog to choose which one, with default setting to ban scraping (which is hard to criticize, since that option is protecting privacy more).

3. If you allow scraping, the form should warn you about consequences, and make you to acknowledge them (which is again a good practice, if you want to expose your information to EVERYONE on the internet).

4. Now you have users consent to protect their data from scraping.

Sounds like dark pattern? Kind of yes, but for good thing and it's hard to argue against it, since it increases privacy.

[1] Idea here is that I can allow anyone on Linkedin to see my profile, whether it is potential employer, or someone who met me at the conference (i.e. to improve my Linkedin experience). But I do not want that data to be harvested, by third party for any reason (specially, because they would then use it to to send me spam / advertising / prefill my profile on different website / ...).

edit: formatting

mic47··on Congrats! Web scraping is legal! (US precedent)
Agree with this, and I would also add this - I want to be in control of my data and change the setting. - I want to be able to delete my data.

If scraping on linked-in is banned (and linked-in is enforcing it), then I do have have control of my data, since I can change the setting, and it will no longer be public (It's not perfect, since some might already scraped it, but the extend would be much smaller). Also, if I decide to delete my data, linked can do that for data it control, but not for scraped data.

mic47··on Runtime Support for Multicore Haskell: A Retrospective
There are couple of implementarion of strings: * String - this is default, it is list of characters and it was a mistake. * ByteString and LazyByteString - this represents array of 8bit characters. Performant but does not handle encodings * Text and LazyText - this is what you want to use when yiu work with text, since it represent text in unicode.

There is mess in these types. s9me libraries are using different types, so you might have to convert between those and it can be confusing, and the conversion apis are not unified. But if you manage in your project consistently use single type (say Text), then you'll actually have a great time working with strings. Its problem if you want to quickly mash together few libraries that does not use same types, since it get messy.

Reason for this is mostly historic.

mic47··on Sacha Baron Cohen Uses ADL Speech to Tear Apart Mark Zuckerberg and Facebook
The actual policy is not to fact check political ads, but they will still take down "ads that encouraged violence or seek to suppress voting." (after quick googling I found this, there are probably better sources: https://apnews.com/64fe06acd28145f5913d6f815bec36a2 )

I don't know like you, but Hitler's 'final solution' seems to be fitting the violence bucked, so should be taken down. So at least the title is not right.

mic47··on Facebook, Google Fund Nonprofits Shaping Privacy Debate
"Oh you want to to serve ads to individuals that shop at Uniqlo? Here's a list of profiles to target that have checked into a Uniqlo three times in the past 6 weeks"

No, this is not true. It's more like "Oh you want to to serve ads to individuals that shop at Uniqlo? Give us your ad creative and we will show you to the profiles that have checked into a Uniqlo three times in the past 6 weeks"

Additionally, at FB ads, often it's custom audience, and in that case it's "Oh you want to to serve ads to individuals that shop at Uniqlo? Give us your ad creative and list of email addresses of people you want to target and we show them your ads." (though you can actually do "similar audience" and so on.

mic47··on Aviation safety: Transport comparisons
Yes, because air travel have less trips but quite longer. Title is as fair as me saying that space shuttle is safer than walking per billion km.
mic47··on Facebook says a bug caused its iPhone app’s inadvertent camera access
well, VP of Abuse is exactly as good as VP of Spam. You know, it's not clear, whether you are trying to to reduce abuse/spam, or create it.
mic47··on Facebook says a bug caused its iPhone app’s inadvertent camera access
Ever heard about 0days?
mic47··on Facebook says a bug caused its iPhone app’s inadvertent camera access
Integrity teams at FB are teams that handle abuse on the platform, and other bad things (fake accounts, spam, malicious developers, malicious ads, ...). Why integrity? Bunch of teams (not all) that did abuse had integrity in their name (like site integrity, platform integrity), so I guess that the name just sticks.

And what does VP of integrity do? Manages organization that handles abuse on the platform.

mic47··on Blogwashing
To me, the date in the blog is indication how relevant it is. So if you updated links and info in 2y blog to make it relevant again, I don't mind if the date would be today. But probably best would be to put 2 dates: original publish date, and date last modification/relevance.
mic47··on YouTube might terminate your access if not profitable for Google
This might be actually a good thing. Say that you are a user, which uploads a LOT of large videos that almost nobody is watching, apart from your small cabal, and you restrict ads on them (AFAIK was possible in past, not sure if it is now). In such case, you get quite good service for free, and you cost YouTube quite a lot of money for storage.

I see that YouTube have following options: 1.) Show more ads elsewhere (so other people will pay the price). 2.) Terminate your account. 3.) Charge you money.

From those, actually 2/3 seems like the best (and being able to do #2 will give them leverage for you to pay #3).

mic47··on Ring used video captured on Halloween for PR
Or it's just another example of ridiculous journalists expectations: they make inquiry during weekend / Friday evening and expect you to respond immediately. But you know, even people at Ring have lives....

Generally whenever journalist post sensational article, where they clearly didn't give other party enough time to respond, I see it more as an example of shitty journalism, because clearly journalist is more interested in flashy headline and breaking news, than the truth.

mic47··on ‘Sexual’ use of eggplant and peach emojis banned on Facebook, Instagram
" Someone who wants to sexually harass a person via Facebook isn’t going to be deterred because they might get reported (and then... presumably nothing?) for sending an emoji." No, but person reviewing such reported content now have in their guideline that emojis count too and know what to do.
mic47··on ‘Sexual’ use of eggplant and peach emojis banned on Facebook, Instagram
I guess this applies to reported content, and maybe for content for wider audience (like public post / group / ...)?

I.e. if you send eggplant to your GF via chat, and she does not report you, it's fine. But if she receives private eggplant sex message from some rando and she report him, that should count as violation.

mic47··on Software projects written in Haskell
Just curious, what was the reason that Haskell developer left?

I know 1 company where this happened, but there Haskell developers left because management decided to move to python (without them even knowing its under consideration).

mic47··on Software projects written in Haskell
note that ghci will give you much more comprehensible error message, than tryhaskell.org
mic47··on Software projects written in Haskell
For quick iterations, you have ghci. You just edit your files, type :r and it will recompile only necessary files, which is really quick (and I miss it in most other REPLs). Similar with incremental compilation. But if you need to compile huge project always from scratch, of course, you will suffer.

There have been work on making haskell to have deterministic build to speed up compile time, and compare to scala, I find it way faster (in my current company, we use scala). But note that if you start using stuff like template haskell, your compilation will slow down.

mic47··on What Is Good About Haskell?
In case you need to add logging, you can always close your eyes and use unsafePerformIO anywhere, since from the view of the application, logging is just write-only side-effect.

It's all about how much do you isolate sideeffects from each other. If you go nuts with isolation, you loose flexibility. If you write all your code in IO monad (that means any code can have sideeffect), you are as in other languages where you can do sideeffect anywhere you want.

mic47··on What Is Good About Haskell?
In what situation? If you predict everything correctly, you don't have to, but I was referring that you don't have to have everything designed upfront, since refactor is much easier and safer than in other languages.

I wanted to make point that that #4 is not true.

mic47··on What Is Good About Haskell?
>Architecture is extremely sensitive to the initial choices due to isolation of side effects.

Only if you choose to isolate all side effects from each other. Actually Haskell makes refactoring really easy, so you can adapt your implemention to changing requirements easily.

mic47··on Identifying a person through walls from video footage, using only WiFi
> We have windows, tiny little cameras that go through walls, and we can ping cell-phones. Correct me if I'm wrong, but wouldn't all of those work better than this incredibly convoluted method?

This is research. Currently it's unreliable (83% is super low) and convoluted, but with more research and investments, it is possible that they would be able to make it reliable and practical.

mic47··on Serverless: slower and more expensive
that is why I wrote "that fraction", hoping that it means that its the same fraction.

Though, your example still does not mean you lost. that 1/100 time is time that developer is not working on something else, that might be worth much more (though if ita 1%, its less likely. but my point is that developer time is more valuable than proportional amou t of his salary).

← PreviousPage 2 of 6Next →