Show HN: Cipher – Mobile Ethereum Web3 DApp Browser - <AUTHOR> https://www.cipherbrowser.com/ <comment><USER2> I really feel like the #1 problem for all crypto stuff is that it is completely unapproachable without having to learn a massive amount of new terms/vocabulary.

Look at this description: "The Power of Ethereum in the Palm of Your Hand Cipher Browser is the world's first full-featured mobile dapp browser and wallet for the Ethereum blockchain. Cipher allows you to interact with dapps powered by Ethereum on your mobile device and makes it easy for you to securely store, send and receive Ether and ERC20 tokens."

I have absolutely no idea what this is saying. Whoever can crack the nut of user experience for the layman (hell, even just technical folks who haven't spent the time to study all of these technologies/terms enough to know what the fuck they're talking about) is going to be very rich. Until then, this is just nerds catering to nerds.

<comment><AUTHOR> Your feedback is legit. Unfortunately the app has to initially cater to the early adopters of Ethereum, but making Ethereum and Dapps approachable is the #1 goal of this project. I will be spending a lot of time on further simplifying the UI/UX of the app and the what you see on the website. If anyone wants to help, please let me know.

<comment> 549362-30499 It would help if you define "Dapp" and give a few examples of "Dapps" that people might get value from.

<comment><USER3> An app whose data store is block chain based, as opposed to AWS infrastructure owned by whoever.

Decentralized App.

</comment></comment></comment></comment><comment><USER4> Erm, who made this and why should I trust it? Wallet apps need a lot of trust behind them, more than a normal app. It could be really well made and still run off with my money if they're malicious or just implemented the crypto wrong.

<comment> gator-io Exactly. Remember the recent Parity wallet fiasco?

[https://www.theregister.co.uk/2017/11/10/parity_280m_ethereu...](https://www.theregister.co.uk/2017/11/10/parity_280m_ethereum_wallet_lockdown_hack/)

<comment><USER5> The general principle applies but just in case anyone's confused, Cipher's wallet is a client running on the phone, and Parity's wallet was a smart contract running on the blockchain. It's a bit unfortunate that the term got reused for multisig contracts.

</comment></comment></comment><comment><USER6> Nice work!

btw, there is also the Ethers wallet which is open source and also in the iOS app store: [https://github.com/ethers-io/EthersWallet- ios](https://github.com/ethers-io/EthersWallet-ios)

the author is quite skilled and has spent a tremendous amount of time to consider a secure implementation throughout the entire code base. I highly recommend it.

</comment><comment><USER7> This is really nice, it's a bit annoying having to enter the entire recovery phrase during setup, could you just pick a few random words instead to enter?

My biggest concern with these types of apps is the security of the wallet, given everyone is rolling their own build, so personally I probably won't put any real funds in here for some time.

<comment><AUTHOR> You can tap on skip button in the corner but do copy it down as soon as you are able (it can be viewed again in settings screen).

Cipher uses features like the Secure Enclave chip to make things more secure, but obviously the best practice is to treat it as a hot spending wallet and use a hardware wallet to store large amounts.

<comment><USER8> Is there a way to copy the recovery password as text? I want to store it in my password manager, but typing in 20 words (correctly) passes my threshold for trying out new apps.

</comment></comment></comment><comment><AUTHOR> iOS App Store: [https://itunes.apple.com/us/app/cipher-browser-for- ethereum/...](https://itunes.apple.com/us/app/cipher-browser-for- ethereum/id1294572970?ls=1&mt=8)

Android Google Play (Beta): [https://play.google.com/store/apps/details?id=com.cipherbrow...](https://play.google.com/store/apps/details?id=com.cipherbrowser.cipher&hl=en)

</comment><comment><USER9> Curious to know if the source code is available out there? Would love to audit it before putting it to use.

<comment><AUTHOR> Now that it is available on both iOS and Android app stores, we will be open- sourcing a lot of code in the coming weeks - this is one of them: [http://github.com/petejkim/wallet.ts](http://github.com/petejkim/wallet.ts)

<comment><USER10> In case anyone else is looking for the Android store link which isn't super easy to find, here it is: [https://play.google.com/store/apps/details?id=com.cipherbrow...](https://play.google.com/store/apps/details?id=com.cipherbrowser.cipher&hl=en)

(Worth adding to the homepage, btw.)

</comment></comment></comment><comment><USER11> Awesome work Peter! This is leaps and bounds ahead of the competition ([http://status.im](http://status.im) and [http://toshi.org](http://toshi.org))

</comment><comment><USER12> For someone who's not at all in touch or in synch with all this, why should I install it? What is the value proposition? Just to send money to other people in an ideologically pure way?

<comment><USER13> > Just to send money to other people in an ideologically pure way?

Ha. Never seen that put that way before, but sure.

But aside from just the currency aspect of it, blockchain protocols that support distributed apps (dapps) or smart contracts also allow for programs to be run on the blockchain; a sort of distributed computing network. This app, aside from wallet/currency functions, appears to also allow you to interact with these distributed apps and see their state.

</comment></comment><comment><USER14> I spent some time playing with this yesterday and showed it to a few colleagues today. It's a cool implementation - feels like the beginnings of an app store for DApps.

</comment><comment><USER15> Can't get used to those iPhoneX screens. Still look awful to me.

Congrats on the work though. A major item for becoming a successful anything is having a large community. Broadening access to the technology helps a lot to achieve it.

US AppStore only it seems. Or at least not in NL.

<comment><AUTHOR> Thanks! It should be available on every store except China (Apple didn't allow). Search for "Cipher Ethereum".

<comment><USER15> That worked. Strange, normally links as on your FP redirect to the right app store (region).

</comment></comment></comment><comment><USER16> This looks cool -- good luck! (I just followed you on twitter)

How is this different from Status?

<comment><AUTHOR> Status is still unreleased and supports testnet only whereas Cipher is available on both iOS and Android stores and supports Ethereum Mainnet. Cipher is also primarily a Dapp Browser before anything else, and we try to be compatible with as many Web 3 Dapps as possible and implement the latest enhancements to Web 3 API as quickly as possible. (e.g. [https://github.com/ethereum/EIPs/pull/712](https://github.com/ethereum/EIPs/pull/712) \- eth_signTypedData)

I gotta say Status is a very cool project though (and really well-funded too and I own some SNT tokens as well) and I really appreciate all the work they are doing with Whisper protocol.

</comment></comment><comment><USER17> I use multiple devices, will it be possible to have two installs synced together? For some reason I had some difficulty with this on Status.

<comment><AUTHOR> Yes, use the same recovery phrase. I wouldn't recommend making transactions simultaneously on multiple devices though.

<comment><USER18> Why? They would be separate transactions on Blockchain

<comment><USER5> Ethereum is different from Bitcoin in that it uses simple account balances, which are easier to deal with in smart contracts. To prevent replay attacks, each account has a nonce, which is included in the transaction.

You can check the blockchain for the current nonce of an account, but if you sent from the same account simultaneously from two devices, both transactions would get the same nonce and one would fail.

<comment><AUTHOR> That is correct! Thanks for explaining!

</comment></comment></comment></comment></comment><comment><USER19> Can't find the app in the play store . Is this country locked? Is there a apk from f-droid or a legitimate GitHub repo?

<comment><AUTHOR> Try this link: [https://play.google.com/store/apps/details?id=com.cipherbrow...](https://play.google.com/store/apps/details?id=com.cipherbrowser.cipher)

</comment></comment><comment><USER20> cool project! is it a cordova app or facebook react? as you have typescript in there it probably is something like that??

i think this really fills a great whole. i am happy that you did this work ;)

i would definitely be willing to contribute, if you open source it.

<comment><AUTHOR> It's mostly React Native for the UI, but there's a lot of native code for crypto/secure enclave operations.</comment></comment>


Show HN: I made a privacy-first email analytics software - <AUTHOR> https://mailspice.com/ <comment><AUTHOR> Creator here. As a developer and email marketing expert I have to analyze and provide detailed success reports for every sent mailing/newsletter to our customers. I never felt comfortable using one of the big email marketing and tracking tools because you don't know what they're tracking... And, in fact their attitude of tracking everything now violates the GDPR. So I built mailspice analytics. The basic idea is to track no personal information by default ("privacy by design"). If by contract/law/rules you're allowed to track more (like ip or email address) you can do it by simply activating an option that allows collecting this more personal information. So the collected privacy relevant information can be decided by the account owner and by a contract between the account owner and the tracking platform.

On the website you can find a demo report that shows how it looks like. My plan is to further extend the functionality for big data applications and data-research.

If you have any questions just ask me ;)

<comment> sam-can77 I believe the roar around GDPR in the EU is vastly overrated. It's always a good idea to track as much data as you can, especially in email marketing. I see absolutely no interest in a tool that deliberately doesn't track valuable data points. Data is today's gold. Nobody cares if data has been collected in a legit way or not. In a few years I expect the whole data privacy talk over there will be just a blip in the radar...</comment></comment>


In TV Ratings Game, Networks Try to Dissguys Bad Newz from Nielsen - <AUTHOR> https://www.wsj.com/articles/in-tv-ratings-game-networks-try-to-dissguys-bad-newz-from-nielsen-1499350955 <comment><AUTHOR> Try [https://t.co/iootrDOtQp](https://t.co/iootrDOtQp) if paywall is an issue</comment>


Simple tool for real-time collaborative whiteboarding - <AUTHOR> http://sketchwith.us/

<comment><USER2> sketchwith.us is actually a site I put together with a few coworkers... we didn't intend to publicize it yet, but since it is out there, please let us know if you have feedback

</comment><comment><USER3> It doesn't seem to work for me.</comment>


Everything I know as a software developer without a degree - <AUTHOR> https://www.taniarascia.com/everything-i-know-as-a-software-developer-without-a-degree/ <comment><USER2> This person is really smart and makes quality products. But something feels off. They've written multiple frameworks 'in their spare time'.

Like, how many people, even with degrees, have enough spare time to write their own frameworks or just take a sabbatical to hang out in Europe for a few months?

Really happy this person exists and is writing quality code and making tech better but not sure if this is a standard just anyone can really broach?

Feels like this person has alternate sources of funding from somewhere. I could be wrong, but from my experiences in tech, you barely have any free time in general, or maybe I'm just working the wrong jobs. :)

<comment><USER3> I've taken the past year off to live on my savings and build a new saas, data as a service platform, it's possible and people do it all the time. You have to save money, then take the time off.</comment></comment>


Shocker: We Still Suck When It Comes to High-Tech Education - <AUTHOR> http://www.techcrunch.com/2009/06/25/shocker-we-still-suck-when-it-comes-to-high-tech-education/ <comment><USER2> "He boldly argues that instead of restricting H1Bs, the government should just levy a payroll tax on them."

That seems like a very reasonable idea. If the current regulation stays in place that says that H1-B workers have to be paid prevailing wages, and in addition to that a company has to pay a specific tax on each worker hired, we'll find out in a hurry just how economically essential all those workers are.</comment>


Tesla Touches 2000 $ - <AUTHOR> https://www.bloomberg.com/news/articles/2020-08-20/tesla-shares-resume-march-toward-2-000-ahead-of-stock-split <comment><AUTHOR> An important psychological milestone ?</comment>


Taiwan's coastline surrounded by 12M liters of marine debris - <AUTHOR> http://m.focustaiwan.tw/news/asoc/201907110015.aspx <comment><USER2> 12M liters doesn't look much on the scale of the ocean (an Olympic swimming pool is, ballpark, 2M liters), but on 1,210 km of coastline, it is about 10 liters per meter.</comment>


Ask HN - stream database open source hackers unite - <AUTHOR>

Im exploring some ideas in the land of stream databases [data which has strong sequential properties] and wonder if there are others already working in this space, or who might like to contribute/discuss/argue/hack open source code.
Ive put up some thoughts and C code, see - - vfuncs project at google code
- quantblog.wordpress.com
enjoy,
gord. <comment><USER2> I know people related to this project are interested in and working on such systems: <http://gsn.sourceforge.net/>

</comment><comment><AUTHOR> thanks, I had a look at gsn - That would be the middleware to gather the data from sensor networks...

..whereas my interest is in how to deal with the fire-hose of ~10Gb data per day, once you have 100Gb of it on disk and more streaming in all the time.

I'm aware of commercial offerings - \- KDB+ [its own semi-functional terse languages - K & Q ] \- StreamBase [extended SQL]

The open source ones ... \- Aurora / Borealis ( MIT, Brandeis) \- Medusa (MIT) \- Streams (Stanford) \- MonetDB (a Netherlands university) seem to embrace/extend SQL and/or XQuery and/or RDF

Im thinking there must be a better way.</comment>


An Investigation of the Therac-25 Accidents (1993) [pdf] - <AUTHOR> http://www.cs.umd.edu/class/spring2003/cmsc838p/Misc/therac.pdf

<comment><USER2> The faulty code was written by a single person, whose name has never to my knowledge been known publicly. I've often wondered whether they are still writing software and what industry they're in now.

Obviously the Therac-25 accidents were not entirely this person's fault — the product was manufactured by AECL, a large company with management who should have demanded better testing and made better design decisions, like hardware interlocks.

But I still wonder who it was.

Leveson, in a sidebar, says

 _The programmer left AECL in 1986. In a lawsuit connected with one of the accidents, the lawyers were unable to obtain information about the programmer from AECL. In the depositions connected with that case, none of the AECL employees questioned could provide any information about his educational background or experience. Although an attempt was made to obtain a deposition from the programmer, the lawsuit was settled before this was accomplished. We have been unable to learn anything about his background._</comment>


Using Metadata to find Paul Revere (2013) - <AUTHOR> https://kieranhealy.org/blog/archives/2013/06/09/using-metadata-to-find-paul-revere/ <comment><AUTHOR> This is one of my favorite posts from the time immediately after the Snowden revelations in 2013, and it felt relevant to resubmit today with the news that macOS is making a network request any time I do pretty much anything: [https://news.ycombinator.com/item?id=23273247](https://news.ycombinator.com/item?id=23273247)</comment>


The Americans withholding their taxes to fight Trump - <AUTHOR> https://www.theguardian.com/us-news/2017/feb/15/tax-refusing-pay-protest-trump <comment><USER2> From the article (emphasis mine):

> Andrew Newman always pays his taxes, even if he hates what the government is > doing with them. But not this year. For him, Donald Trump is the > dealbreaker. He'll pay his city and state taxes but will _refuse to pay > federal income tax as a cry of civil disobedience against the president and > his new administration_.

I'm pretty sure that anybody that tries doing this will be charged with tax evasion.

Also, there's no dispute that Donald Trump has paid the taxes he legally owed. If not, he would have been audited and similarly charged by the IRS. Disagreeing that he hasn't paid _enough_ taxes is a question of tax law better directed at the elected officials that put those policies in place.

> Not long after Trump was elected, Robinson sat down with her accountant and > discussed legal ways to pay negligible federal income tax, instead making > extra payments into her tax-deferred pension plan and still paying her local > and state taxes and Medicaid and Medicare contributions.

> "This is my way of saying to Trump: you think you're the only one who knows > how to use the tax laws to your advantage?" she said.

Why is this news? It's perfectly legal to avoid paying taxes you don't owe.

Hell, I'd say it's down right un-American to pay taxes that you don't owe!</comment>


Why I Would Hire Game Developers for my Startup - <AUTHOR> http://paulbakaus.com/2009/10/06/why-i-would-hire-game-developers-for-my-startup/

<comment><USER2> I was six years in consoles, five in a big-but-cool corporation on desktop apps, and the last year in web.

\- Game developers are high-energy and are there because they really, really want to be doing their job. They could make more money doing something less sexy, so they're self-selected enthusiasts.

\- My game projects tended to be under one year, with high pressure, clear goals and a definite deadline. This, and the general culture of the industry, encouraged lots of crunch time, and made any code philosophy other than churning out code asap hard to adopt.

\- Driven by both their motivation and the project conditions, good game programmers are awesome at creating a lot of decent code very fast.

So, judged purely on coding game programmers tend to be pretty strong. The trade-off is that there are a lot of skills they don't have to develop that you need in the web world. The whole mindset of _everything_ (apart from the HTML rendering) running on a machine you control changes things fundamentally:

\- It's far easier to deploy fast and deal with problems as they arise, rather than coding and testing defensively to avoid them in the first place

\- Optimization is a completely different beast. You now control the hardware side of the equation too, so the old habits of improving performance can lead you astray

Anyway, this isn't as clear-cut as I'm painting it (I'm sure MMORPG guys have a lot more in common with web developers for example), but who's 'better' definitely depends on which dimensions you're looking at.

</comment><comment><USER3> Well, I for one can't wait for someone to come and show us whiny and despairing web developers how it's done.

Moronic article that seems to think that comparing apples to battleships somehow makes sense.

(Speaking as a game developer for 14 years and a web developer for 8).

</comment><comment><USER4> I've been working at a major gaming studio in between startups and I have to agree with this - game programmers rock!

The only catch is that they tend to be obsessed with games. So if you want them to build something else make sure they are tired of the gaming world and want something new.

Anyone who can commit their software to a ROM disc has my respect.

<comment><USER5> My impression is that game developers mostly leave the gaming world after burning out too many times. Some cynical advice might be to only hire them a year after they stopped working on games?

Disclaimer: I only know a few game developers. They are really good -- and to man burned out on that industry.

<comment><USER6> I am one of the burned out ones ;)

I worked in the industry for approximately 6 years (2 companies) and got out due to the stressful crunch periods and associated drama of working in a game studio - if you are working on multiple titles, the stress increases by orders of magnitude. In addition to the bug fixing and testing there is the necessary hassle of submitting the games to SONY/MS/Nintendo, marketing coordination (with what seems like infinite number of mags and gaming sites), etc. and etc.

...now doing geospatial web applications.

</comment></comment></comment><comment><USER7> While I share a lot of respect for game devs I'm curious about this quote from the article.... What do you mean by "While web developers have been whining for years and have been stuck in their despair"

</comment><comment><USER8> The offer for one of my first programming jobs I landed was due to my having listed game development on my resume. The job had nothing to do with game development (though I later went on to build a 3D data visualization in DirectX that was a cornerstone of the software), but the people who hired me had the same mindset as this article.

The idea is based on a few aspects that game developers almost universally share: they are trained to think of new, innovative ways to solve problems since each new game has to push the boundaries of what was possible before, they tend to be passionate about development and doing cool things with code, they are hardcore about optimization, and they are used to constantly learning new technologies and algorithms.

That said, not all aspects of game development are ideal for other projects, especially on the web. As others have mentioned, web development requires a very different mindset than game development. One major example is that game developers often build components from scratch, rather than re-using existing ones. One of the hardest skill for me to learn was to avoid "reinventing the wheel" and using pre-made off the shelf and open source components in projects.

I am definitely biased, but my own experiences have caused me to pay more attention to resumes I get that list game development experience, but not to the point of excluding others.

</comment><comment><USER9> I agree with this guy's thinking... but it's going to be hard to find a good game developer who wants to switch to web stuff. Try and recruit people who've just had kids. That's why I switched from games to something less crunchy (not web, but still)...

</comment><comment><USER10> I don't know any game developers, so I can't really speak to their production quality/speed, but this quote just jumps out at me as a _really_ bad thing:

"For game devs, they know from the beginning on that the console they're developing for cannot handle the raw 3D data, so they need to find optimization patterns right away!"

I understand trying to find the optimal pattern/process for completing a task, but this seems like it's trying to say pre-optimizing is a good idea. I couldn't disagree more.

</comment><comment><USER11> This is like comparing apples to oranges. Game development is a more specialized industry. This is like comparing OS developers to VB developers. More people do web development, its easier to get into and therefore a lot more people just plain suck. Anyone who is in game development is probably already an above average developer, while an average web developer is, well average.

</comment><comment><USER12> It doesn't hurt that game developers are willing to work their assess off for not a lot of money.

<comment><USER13> "It doesn't hurt that game developers are willing to work their assess off" _on games_ "for not a lot of money".

If you ask them to work on the your enterprise webapp , you can bet they'll charge high rates. Programmers will take a pay cut for _interesting_ work. And making games is interesting work. An accounting system, not so much.

</comment></comment><comment><USER14> I'm not sure I agree with the whining part, there is also an awful lot game developers could learn from web developers.

For example: \- Test driven development \- Deploy, measure, iterate practices \- High level languages

Most of which are rare in the games industry but seem to be very successful in the web industry.

<comment><USER15> Game Development is test driven...When they play the part they just coded, isn't that testing?

<comment><USER16> I don't think you understand the significance of the word "driven." Coding something and then testing it is not TDD. In TDD, you don't write _any_ application code that a failed test doesn't demand in order to pass—and even then, only just enough to make that test pass, even if it just means alwars returning 4 from a rand function.

Of course, a "play test" is not an unit test, or an integration test (and is only mildly similar to an acceptance test.) Playtest-driven development would be an entirely new affair, likely involving gameplay freeze-states and kept in version control, and a constant numerical analysis for the player's emotional state (perhaps using some sort of face-recognition) given alternate code paths.

</comment></comment></comment><comment><USER17> game developers (who I respect immensely) aren't generally know for doing bug fixing for realtime services (unless they work on a WoW or its ilk).

</comment><comment><USER18> Just curious, how much maintenance or code reuse do game developers have?</comment>


Hillary is "to buy some of the law enforcement arguments on crypto and Snowden" - <AUTHOR> https://wikileaks.org/podesta-emails/emailid/5774 <comment><USER2> She has publicly said as much. How does this email add anything new?</comment>


Ask HN: How to manage checklists efficiently? - <AUTHOR> I'm having trouble finding an app where I can create a master checklist and then use an instance everytime I need an empty copy.
I have used, Google Keep and Evernote. But, I have to copy and paste and uncheck all boxes... which is not ideal.
For instance, when I'm traveling I used a checklist or before sending code/software to production...
Any solutions/apps? <comment><USER2> ToDoList is a Windows-only hierarchical task manager which supports recurring tasks.

These recurring tasks can be configured to create a copy of the task upon completion and will automatically clear all the subtask checkboxes.

You can download it from [https://abstractspoon.weebly.com/](https://abstractspoon.weebly.com/)</comment>


Stephen King's 20 Rules for Writers (2018) - <AUTHOR> http://www.openculture.com/2018/10/stephen-kings-20-rules-writers.html <comment><USER2> For anyone seeking guidance, try the Writing Excuses podcast. Staffed by successful authors with regularly rotating guests, this Hugo-award-winning show covers writing topics in depth over 15 minute episodes.

[https://writingexcuses.com/about-2/about/](https://writingexcuses.com/about-2/about/)

</comment><comment><USER3> For almost all of these rules, I can think of multiple phenomenal, respected writers who break it regularly.

It's pretty likely that a certain set of rules works for a certain writer and the content he wants to create, and it won't work at all for someone else.

The only reliable, universal rule for being a good writer that I've ever come across is: practice.

<comment><USER4> It's been my experience that most "X rules of Y" are more guidelines than strict rules, at least when it comes to anything that is any kind of artistic endeavor.

The key is knowing which rules to follow when, and which rules to break — and when.

But, if you want to write as well as King, and in the same genre or a related genre, I think you could probably do much worse than to start off by following his rules.

</comment></comment><comment><USER5> 4\. Avoid adverbs, especially after "he said" and "she said."

I heard this years ago, and since then, I've noticed how often these adverbs are used as a crutch. It's a classic example of telling instead of showing. The best writers almost never break this one.

<comment><USER6> It's excesive in kids books and, because it comes after the quote, you've already said it out loud and you feel obligated to go back and fix your bad inflection.

</comment></comment><comment><USER7> His book "On Writing" is great in audio version. King reads it. It's the only audio book I've listened to multiple times. Great stuff.</comment>


Content Marketing is Broken: Why it's so damn hard to learn anything these days. - <AUTHOR> https://www.reddit.com/r/Entrepreneur/comments/6onf14/content_marketing_is_broken_why_its_so_damn_hard/ <comment><USER2> very insightful...</comment>


Unqualified Names in the SSL Observatory - <AUTHOR> https://www.eff.org/deeplinks/2011/04/unqualified-names-ssl-observatory <comment><USER2> I'd wager WebTrust doesn't really care or else this wouldn't go unfixed for so long. While I appreciate this problem, I really wish we had something usable between CA-signed HTTPS and regular HTTP. We can't even have encryption on the web without paying somebody.

<comment><USER3> I'm beginning to feel like a broken record saying this, but it's possible to get a browser-recognised certificate for free, for example from <http://www.startssl.com/> (yes, their web site design is straight out of 2001, but it works).

<comment><USER2> I've tried startSSL before and this is my view on that: Yeah great, unless you want to support older certificate stores that haven't been updated (any before 2006). Maybe in another 3-5 years it'll be great though.

<http://news.ycombinator.com/item?id=1880688>

</comment></comment></comment><comment><USER4> Wouldn't signing `localhost` be useful in testing browsers and testing locally-running versions of websites which have signed SSL certificates? The alternative being intercepting and faking the responses from the CAs when your browser attempts to verify your localhost:8080 website? Or is there another viable, non-"master SSL off-switch" option here?

<comment><USER5> From the blog post:

" _Organizations relying on certificates for unqualified names should use their own private CA for their private namespace. For example, all those Exchange shops can use Microsoft's CA software._ "

</comment></comment><comment><USER6> And when I make jokes with Exchange operators I am modded down... sigh... Telling, I say.</comment>


SiFive Announces First RISC-V OoO CPU Core - <AUTHOR> https://www.anandtech.com/show/15036/sifive-announces-first-riscv-ooo-cpu-core-the-u8series-processor-ip <comment><USER2> > SiFive's design goals for the U8-Series are quite straightforward: Compared > to an Arm Cortex-A72, the U8-Series aims to be comparable in performance, > while offering 1.5x better power efficiency at the same time as using half > the area.

This is very a big statement. It's hard for me to think of how they do that, when 8th gen ARM cores are said to be blowing just anything else on size/performance ratio.

Where does SiFive get such an expertise in size optimisation?

<comment><USER3> The RISC-V ISA was made with some hindsight of what choices makes it easy to optimize for OoO superscalar CPUs. If I remember correctly, that's one of the reasons everyone jumped ship from OpenRISC to RISC-V (the big mistake in OpenRISC being branch delay slots I believe)

It might also help starting from scratch.

I'm also not convinced it's entirely an apples-to-apples comparison. ARM might support more complex instructions that their core don't, and the ARM core might have features like TrustZone.

<comment><USER4> > The RISC-V ISA was made with some hindsight of what choices makes it easy to > optimize for OoO superscalar CPUs.

ARM's 64-bit architecture (AArch64) was also made with similar hindsight, so that's probably not the whole reason.

<comment><USER5> Most AArch64 cores still have to support AArch32 modes, and so aren't allowed to take advantage of those optimizations.

<comment><USER6> Considering binary compatibility is not a huge issue in the ARM space (at least not as huge as it is in x86) it seems more like a design choice - it's perfectly reasonable to have a CPU part that is aarch64 and knows nothing about the 32-bit ARM ISA

<comment><USER5> For the bigger ARM cores it is a huge issue. They're pretty much just used inside phones and compatibility with everything in the app store is an extremely important component of their requirements.

<comment><USER6> It depends.

Most software for Android is not native. My current phone can't run some applications I bought on my Motorola Droid even though I doubt they have one single line of native code. Those applications also don't show up on the Google Store (at least on my phone), so nobody will get them anyway. I had one x86 phone in the meantime, and I didn't see any compatibility issues.

As for the other player in town, Apple, they design everything, silicon, OS and SDK and operate the only application store you can publish to, so, for them, this is also something that can be easily controlled.

<comment><USER5> Almost all games are native. Games are what generate the most microtransactions, and are an extremely important component of the app store from a revenue perspective.

And even Apple, who as you said has easily the most control of their ecosystem, is rumored to go to only AArch64 on their next gen chips. They want to move that way, but even they know the issues with moving that direction too fast.

The x86 chip was relying on a process node advantage in order to have a more intelligent memory subsystem that their competitors, to allow them to emulate AArch32 perfoantly compared to their competitors. That process node advantage is now gone and that option isn't available to x86 (and x86 disappeared from the phone market as soon as the writing on the wall was apparent there).

And going back to original point, AArch32 is an albatross around the neck of OoO core design. Features like making nearly every instruction conditional, the restartable load/store multiple instructions, the instruction decoder is almost as complex as x86 (there's almost 1200 instructions in AArch32), instructions can straddle cache line and page boundaries, etc. heavily complicate OoO designs.

Additionally, the one niche that wants powerful cores and isn't dependent on backwards compatiblity (servers), has seen AArch64 only chips.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> > A lot of the performance increases of the U8-series come thanks to the > increased frequencies capabilities which are 1.4x higher this generation, > with the core scaling up to 2.6GHz on 7nm.

Pretty cool that these chips are approaching performance parity so quickly.

</comment><comment><USER8> "IP Core" in semi industry terminlogy means a bunch of RTL that is offered for licensing, so this is not yet a working chip.

<comment><USER9> God I hate that term. It's not your secret sauce intellectual property, it's a fucking library.

Possibly the biggest reason FPGA/ASIC tech has lagged so hard behind CPU/GPGPU in terms of consumer use is because they have managed to use their hardware to completely stifle all open source software (they even go to some lengths to distance themselves from the term "software"). FPGA libraries are almost always encrypted and have to be treated as a true black box when designing. Doing things as mundane as interacting with a PCIe bus or simple signal filtering are all locked away behind ludicrously overpriced "IP" packages that are often vendor specific.

<comment><USER10> Interacting with a PCIe bus does not seem "mundane" to me. Analog electronics is _hard_ , and, just as importantly, process-specific (and the details of any one process are generally kept strictly confidential to the fab, with tightly- binding NDAs). Now, when it comes to pure digital logic I agree, but that's also where open hardware (with meaningful contributions by SiFive themselves) has been most successful.

<comment><USER11> The analog parts of PCIe interfaces are not programmable. The _artificially_ black boxes we are talking about are purely digital. They use fixed resources but we are not asking for the design of those parts.

</comment></comment></comment></comment><comment><USER12> I wasn't sure what OoO stood for and since they never mentioned it in the article I had to look it up. For anyone else who is asking the same question.

OoO = out of order execution

<comment><USER13> It's actually mentioned in a header after the third paragraph in the article...

<comment><USER12> Yeah, I saw that later on when I continued reading. I did a Find on the page and was looking for "ooo" and didn't find anything like "order of order (ooo)" because it's customary to define it when it is first used.

</comment></comment></comment><comment><USER14> A Raspberry Pi type SBC based on this would be neat, is that something we can expect to see any time soon in light of this announcement or is that not an application this is really aimed at?

<comment><USER15> That would be neat, and would come out somewhere similar to a Pi 4 (which are pretty awesome).

Note that the Pi 4 has ARM processor cores, but ARM doesn't make either the processor chip or the board. Broadcom design and make the BCM2711 SoC, and the Raspberry Pi Foundation designed and manufactures the board.

No doubt SiFive would be very happy to work with someone who wanted to make retail SoCs and/or SBCs using the U84, but as with ARM it's not really their business model to do that themselves.

SiFive has made several low-volume chips and boards for potential core IP customers to use for evaluation and development e.g. the $999 HiFive Unleashed. ARM similarly offers a $10000 dev board for the A72.

</comment></comment><comment><USER5> Have we gotten confirmation yet on whether this is a BOOM core or not? It certainly feels like it is

</comment><comment><USER16> Is there a risc-v chip on the market which includes Bluetooth?

<comment><USER17> Usually Bluetooth modules are add-on peripherals, unless I'm mistaken.

<comment><USER18> Exactly what I was thinking when I read the parent at first, but I'm assuming the parent is asking about all-in-on SoC chips.

<comment><USER16> Indeed I was</comment></comment></comment></comment>


The White Man in That Photo - <AUTHOR> http://griotmag.com/en/white-man-in-that-photo/ <comment><USER2> > Peter Norman is absent from this statue.

[http://www.democracynow.org/blog/2011/10/12/part_2_john_carl...](http://www.democracynow.org/blog/2011/10/12/part_2_john_carlos_1968_olympic_us_medalist_on_the_response_to_his_iconic_black_power_salute)

"...Pete, I have a concern, man. What's this about you don't want to have your statue there? What, are you backing away from me? Are you ashamed of us?" And he laughed, and he said, "No, John." He said—you know, the deep thing is, he said, "Man, I didn't do what you guys did." He said, "But I was there in heart and soul to support what you did. I feel it's only fair that you guys go on and have your statues built there, and I would like to have a blank spot there and have a commemorative plaque stating that I was in that spot. But anyone that comes thereafter from around the world and going to San Jose State that support the movement, what you guys had in '68, they could stand in my spot and take the picture."

<comment><USER3> I poked around a bit to learn more and found their ESPY award clip. It's touching, too, and provides a bit more context also.

Pt1 of 2 (Part 2 is next in the playlist): [https://www.youtube.com/watch?v=xNe5uxccDj4](https://www.youtube.com/watch?v=xNe5uxccDj4)

</comment></comment><comment><USER4> Peter Norman's actions (as well as those of John Carlos and Tommie Smith) were even more impressive in light of the racist undercurrents in both white _and_ black culture at the time.

The three basically took a stand against both the white majority establishment AND a strong trend in contemporary black counter-culture that opposed race equality and integration.

The picture of them carrying him to his grave honestly brought a tear to my eye.

<comment><USER5> That's the first that I'd heard of this 'strong trend in contemporary black counter-culture that opposed race equality and integration' in the years around 1968.

Any references where I can read more on the subject? I looked up the black panther page on Wikipedia, and it referenced black nationalism undertones existing in its earlier phases (until around 1964). Still, I couldn't see that it was a trending force.

<comment><USER6> Perhaps the wikipedia article on Black Nationalism [1] or a more recent article on the alliance (!) between the black panthers and the American Nazi Party [2]. You're better off reading early 70s reportage books, though; I'm far too young to remember the 70s, but my parents had old Doonesbury strips around, but as I remember that their resident Black Panther character was wavering between wanting to be included and not wanting to associate with 'whitey'.

[1] [https://en.wikipedia.org/wiki/Black_nationalism#Malcolm_X](https://en.wikipedia.org/wiki/Black_nationalism#Malcolm_X)

[2] [http://www.vice.com/read/when-malcolm-x-met-the- nazis-000062...](http://www.vice.com/read/when-malcolm-x-met-the- nazis-0000620-v22n4)

</comment></comment></comment><comment><USER7> It's worth noting that the article is _heavily_ editorialising. That 'one man facing the country alone' with respect to his 1972 troubles? 1972 is a notable year for civil rights in Australia - Whitlam was elected, and he brought in the Racial Discrimination Act, set up the Department of Aboriginal Affairs, and initiated legislation to support indigenous land rights. Abolished the WAP, opened up foreign trade, and recognised China. Did a ton of other stuff around equal rights and welfare[1]. Whitlam was a great statesman, but he didn't do it alone - Australia had a civil rights movement just like everwhere else did in the '60s; equal rights were rising everywhere and colonial empires were crumbling. The idea that Norman was a lone voice is simple myth.

It's also weird to see Australia called an apartheid regime. For all the terrible things done to the indigenous here, things weren't arranged as in South Africa. The US treated it's indigenous in a similar manner to Australia (though not _quite_ as bad), and had legal segregation in the South (cue photo of water fountains), but we wouldn't characterise the US as an apartheid regime. Apartheid was a political system limiting people of colour in order to maintain power in the hands of minority whites - both Australia and the US had significant white majorities, with whites in easy control of the political machine.

Finally, the article is also wrong to call Norman the biggest hero on the podium. Norman should be lauded for his actions, but he was still doing 'support' \- the main act was done by Smith and Carlos. Had they not acted, there would be no notable photo.

[1] [http://www.smh.com.au/federal-politics/political- news/gough-...](http://www.smh.com.au/federal-politics/political-news/gough- whitlam-left-a-long-list-of-achievements-20141021-119cpu.html)

<comment><USER8> What they did was for themselves but what he did was selfless. Thats a true mark of a hero and that's why he is the biggest hero on the podium.

<comment><USER9> What? How did it improve their personal well being? They were ostracized from the sports community.

<comment><USER10> Perhaps what was meant was that they were part of a movement to improve the lot of their ethnic group. That movement seems to have worked. However, Norman had nothing to gain - he could only lose, unless he valued human rights more than his personal situation.

<comment><USER11> Whether you're white or black, protesting racial inequality always seems to come down to valuing the well-being of humanity as a whole over valuing your own well-being.

It's in the same category of decision as economic games like the Prisoner's Dilemma, Arms Race, Chicken, or Moose Hunt.

<comment><USER12> And this, to me, is the root of all of humanity's self-inflicted problems. Too many "good" people, at the end of the day, wimp out and take the personally safe route, not just not taking action but also staying silent so as not to risk their social and economic standing. The Holocaust, slavery, racism, the shame felt by rape victims, police injustice[1] could not have happened if those who felt the stirrings of their conscience didn't then snuff those feelings.

[1] [http://www.vox.com/2015/5/28/8661977/race-police- officer](http://www.vox.com/2015/5/28/8661977/race-police-officer)

</comment></comment></comment></comment></comment></comment><comment><USER13> It's fascinating how much backlash there can be for supporting big social equality shifts. Almost certainly many of the people that caused so much trouble for Peter Norman for his participation in that protest were not malicious, overt racists. Some of them probably didn't think they were racists at all. So much of the time resistance to advancement comes about because people are afraid to rock the boat, because they are distressed about being called out, because they don't want to be forced to choose a side. They just want everything to be better at no personal cost. As has been said, evil triumphs when good men do nothing. It's amazing how much truth there is in that, and how much depth. If you insist on burying the issue every time it comes up or if you insist on "waiting until the right time" you're not helping.

So many people today think that it's fine to just be neutral. And in a way that's alright, it's certainly better than actively participating in hate, but it doesn't make you a good person. A good person takes a stand, a good person makes an effort to make things better, even if it comes at a cost.

<comment><USER14> One trouble is that we don't know what's right when we're in the thick of it. Who would have guessed it was OK to be gay? I mean it's not OK to be a pedophile or zoophile, which aren't fundamentally different. The rules keep changing so you can't blame people for sticking to what they're used to.

<comment><USER15> I am trying to appreciate your position on this: the problem is, we ought to know what's right 'in the thick of it' using the two C's - choice and consent. Like discriminate-against minorities (disclosure: I am black), gays do not have a choice to be who they are. Therefore, their position, if you will, is a biological one (as is mine). You mentioned pedophiles and zoophiles, who, could also (possibly and unfortunately) have the disposition of just being who the are without choice. Yet... the difference is consent - no one should get the right to take away the rights of innocent children, or innocent animals for that matter, much less kill, enslave, or otherwise harm them (as was the case with blacks, etc). There is no harm in my being black to anyone who is white, just as there is no harm in being Aboriginal or gay. The rules didn't change. The point is that they (human rights) need to apply equally to everyone.

<comment><USER14> Pedophile and child molester aren't the same thing. Looking at pictures of naked children is something parents and doctors do all the time but pedophiles go to prison for it. "kill, enslave or otherwise harm" is OK for animals according to current popular opinion - ask any meat eater or dog owner. Consent is not required for animals (by our current standards) because we freely allow them to have sex with each other without checking for consent.

My point is that things really aren't as black and white as they seem to people when everyone they know agrees with the same ideas.

</comment></comment></comment></comment><comment><USER16> Despite qualifying for the subsequent 1972 Olympics 13 times, Peter Norman was denied the ability to represent Australia. Despite an apology in 2012 from the Federal Parliament, the Australian Olympic committee still denies any wrongdoing.

<comment><USER17> Here's what I read on Wikipedia:

>Despite Norman running qualifying times for the 100 m five times and 200 m 13 times during 1971-72, the Australian Olympic track team did not send him, or any other male sprinters, to the 1972 Summer Olympics in Munich, the first modern Olympics since 1896 where no Australian sprinters participated. ([https://en.wikipedia.org/wiki/Peter_Norman](https://en.wikipedia.org/wiki/Peter_Norman))

Did no one represent Australia in the events he would've participated in?

<comment><USER18> I guess sending no-one was deemed better than sending slower runners.

</comment></comment></comment><comment><USER19> Here's an interview with Peter and others who knew him a few years ago on ABC TV news program 7.30: [http://www.abc.net.au/7.30/content/2012/s3571974.htm](http://www.abc.net.au/7.30/content/2012/s3571974.htm)

"LEIGH SALES, PRESENTER: Tonight, long overdue recognition is finally being paid to one of the nation's greatest athletes.

Peter Norman won a silver athletics medal at the 1968 Olympics in the 200 metres in a time so fast that he still holds the Australian record more than 50 years later.

But that Olympics was Peter Norman's last. Many people believe he was overlooked for the next Games and forced into retirement for participating in a black power demonstration at his medal ceremony.

Finally, more than 40 years later, Federal Parliament is offering a posthumous apology."

</comment><comment><USER20> Desktop browsing should not have momentum scrolling and iphone-line scrollbars, very distracting

<comment><USER21> I beg to differ, as that's how Mac OS X works. They should certainly not be retrofitted on devices that don't do that natively, though.

<comment><USER22> I couldn't read it, the page would not stop moving. I eventually gave up and closed it.

</comment></comment></comment><comment><USER23> > Today I discovered the truth: that white man in the photo is, perhaps, the > biggest hero of that night in 1968.

Ok, I don't want to downplay what he did. Sure, it took courage for him as well. On the other hand something rankles about taking one of the most iconic moments from the civil rights movement and making it all about the white guy. I mean, come on, the biggest hero of the night? Really?

</comment><comment><USER24> A great hero from Australia.

</comment><comment><USER25> Such blatant institutional racism in Australia in 2000! So sad :(

</comment><comment><USER26> "some of which consisted of forced adoptions of native children to white families."

They still are doing that, and at a higher rate.

<comment><USER27> That is nonsense. You obviously know nothing about Australia.

<comment><USER26> I know a lot about Australia. The raids on families in the Northern territories (and else where) are taking children hundreds (thousands) of miles from their homes.

Children are being taken from their mothers in Aboriginal communities at a faster rate since the apology for the "stolen generation" than before.

Australian society is unfathomably racist. On my visits there and conversations with Ozzies here (Aotearoa) I am constantly reminded just how thoughtlessly and thoroughly racist to its core is Australian society.

The "apartheid" laws are gon. Since 1967 (?) indigenous Australians are counted in the census, are no longer classified as fauna and can vote. But their settlements do not get anywhere near the same services as white settlements and in the guise of "child saftey" children are abducted at a great rate by the state.

2 minutes of searching on the net (aboriginal children Australia abductions racism) gets this article by John Pilger:

[http://www.truth-out.org/news/item/22659-australia-is- again-...](http://www.truth-out.org/news/item/22659-australia-is-again- stealing-its-indigenous-children)

</comment></comment></comment><comment><USER28> Please do not make your own fancy scrollbars with JavaScript. I already have a scrollbar in my browser, I most certainly do not need yours!

<comment><USER29> Browser scrollbars sucks tho.

<comment><USER30> Now, many people downvote you, but i am honestly curious.

What are the specific downsides browser scrollbars have?

And, if it does, how does the JS implementation on that website improve on them?

<comment><USER31> It's not just browser scrollbar - its the OS scrollbar.

<comment><USER30> Yeeees? Go on?

<comment><USER32> So by the way, this is the OS that I run on my computer and it provides the scrollbars that I like. If I don't like them I can change the window manager (and I run X11 so yes, I can do that) to something that I do like.

The designer of that, or any, website does not know what I like, or what works for me and best suits my abilities. They should certainly not attempt to change it based on what they want and what suits them on their device.

actually, I'm a bit flabbergasted when this kind of thing happens, I really am not sure why I would want to allow any application (much less a page on a computer the other side of the world being shown by that application) to change the way my computer interfaces with me.

</comment></comment></comment></comment></comment></comment><comment><USER33> The scrolling on this page was so broken I had to look at the page source to read it. It kept jumping around to random places whenever I tried to get to where the text of the page started.

<comment><USER34> Worked for me with scriptblock (ytimg unblocked).

</comment></comment><comment><USER35> I'm sure you're factually accurate in your statements but I just want to comment on the structure of your argument (and I don't at all mean this in a snarky or negative light).

Racism is about more than being race-conscious. I think we all recognize that. I can say 'Obama is black' and 'John Boehner is white' and 'How many Asian senators are there?' None of these questions subjugates anyone.

For systemic oppression (and Racism), there has to be a group in power and a set of institutions created by those in power to subjugate others.

Back to the point: speakers often speak about Racism (which, as above, requires the power to create oppressive institutions) in the same way they speak about what you described as 'opposition to the majority establishment and a black counter-culture that opposed race equality and integration.' This probably happens because the nuanced description you gave doesn't roll of the tongue.

My ultimate point: it's not clear to me that an ethnic group that is not part of the 'majority establishment' can be 'Racist'.

<comment><USER36> > My ultimate point: it's not clear to me that an ethnic group that is not > part of the 'majority establishment' can be 'Racist'.

I truly loathe this argument because it allows people to engage in hatred based on race while saying that their hatred is not racism. Hatred breeds hatred. I don't understand why people would judge me based on my skin and say that I have a hand in oppression, when I have no power over them. Why am I judged for actions of people who are not even my ancestors, because the color of our skin is the same? Is that not the very problem that we're trying to solve?

I feel conflict and resentment when I am told that I am oppressing people and that I should be hated for it because I am simply white, and frankly I think that's the end goal for the media as they are fanning the flames of racial tension. Don't give in: judge individuals on their merits. Judgment based on race _is_ racism.

<comment><USER35> Your sentiments are totally understandable - but lets take this to a broader, less emotional level.

We, as Americans, are responsible for poor working conditions in large parts of the world. People recycling metals from computer parts (a topic HN users probably think about) develop neurological disorders, based on what we do.

Am I harming someone directly by not thinking about recycling more often? No, but I'm still part of a system that perpetuates these effects.

Your conflict and resentment stem from what some people before us have done. I have conflict over the families whose breadwinners die due to my electronic excess. But the answer isn't to deny the system I live in but to be more thoughtful.

<comment><USER36> None of the issues you outline are racial issues.

Feel free to call a system racist; I'll likely agree depending on the merits of your argument. But people that hate others due to their race are racist, no matter how you couch the issue.

The conflict and resentment that people feel when they are accused of being racist due to only their race works counter to the cause of solving problems, not towards resolution. It encourages in-group/out-group mentalities on both sides and is unproductive toward the goal of equality. When you say that one class of person engaging in the same act as another is different because of their race, you are saying "we will never be equal."</comment></comment></comment></comment>


Show HN: Spawner – Fast Copies for GB to TB Sized Databases - <AUTHOR> http://blog.spawner.io/blog/2015/4/8/introducing-spawner

<comment><USER2> Think there's a lot of potential for this idea, especially for startups that are continuing to grow. As you onboard more and more engineers, the syncing of a dev environment with production becomes a huge pain point.</comment>


Getting Started with Python - Installing Packages - <AUTHOR> http://craigkerstiens.com/2011/11/01/installingpythonpackages/

<comment><USER2> Quick aside, I'm glad the next version of virtualenv (1.7) wont install site- packages by default, so you won't need the --no-site-packages flag anymore. In fact, you'll need the --use-site-packages flag if you want all the installed packages for your python dist.

Quite the welcome change (at least for me).

<http://www.virtualenv.org/en/latest/news.html>

<comment><USER3> As a further aside, there's a recent PEP that proposes to incorporate the concept of virtual environments into Python itself:

<http://www.python.org/dev/peps/pep-0404/>

</comment></comment><comment><USER4> Pip is an awesome tool for Python development and deployment. One of the great things is its ability to use version control commits and tags as packages, as well as tarballs, and PyPi.

<comment><USER5> You're slightly ahead of my next post which calls out some of the more advanced ways of using it.

<comment><USER4> Oops! Didn't mean to steal your thunder, just happy about pip's flexibility in that regard!

<comment><USER5> No worries, fully agree more people need to be using and using it to what its capable of.

</comment></comment></comment></comment><comment><USER6> Nice post. I did some user tests on Friday with beginning Python developers and found they were completely mystified by the pip install process.

I feel like adding virtualenv on top is the right approach, in the long run, but for the beginning developer it might be better just to install plain pip while he is struggling to figure out how to get packages installed, and then later figure out how to do virtualenv.

Almost everyone's first experience with pip is in the context of another task, like trying to use the twilio-python library (the use case I was testing Friday). In that context they're not looking to learn how to use pip correctly (or learn why they need virtualenv) but trying to do something like send a text message or run Flask or whatever.

<comment><USER5> Adding virtualenv is definitely one more layer of complexity, however installing everything to site-packages is asking for a lot of trouble to new users that don't understand whats going on. As soon as they have multiple versions of a library from different projects they will be an a world of hurt that they're unaware of how to untangle themselves. Starting with virtualenv from the beginning really will help prevent a lot of headache later.

If you're using Flask now and use it later and have two various versions you essentially get 1 working application and 1 broken one due to versions.

</comment></comment><comment><USER7> What about pythonbrew[1]?

[1] <https://github.com/utahta/pythonbrew>

</comment><comment><USER8> Timely! I was just looking around for such a thing yesterday. Thanks.

On a related note, is there a wiki or site which collects blog posts on doing things in a language? Having a list of relevant (and community approved) posts generally in order of how a newcomer would encounter them for any language would be an amazing jump off point...

<comment><USER9> Here is another good comparison post between Ruby and Python packaging: [http://gillesfabio.com/blog/2011/03/01/rvm-for- pythonistas-v...](http://gillesfabio.com/blog/2011/03/01/rvm-for-pythonistas- virtualenv-for-rubyists/)

<comment><USER8> Great! Very straightforward. It was leaving out the --no-site-packages which was throwing me off..

I wanted to start doing some work on a web framework I'm interested in, so I'm guessing the best way is to create a virtualenv just for that framework, pull it in to the virtualenv packages folder from github, and then I'm set?</comment></comment></comment>


Ruby or Rails? - <AUTHOR> http://railshurts.com/quiz/ <comment><USER2> Not 'Rails' here, just some enhancements from the Active Support Core Extensions library, which can be included in your (non-Rails) project entirely standalone. I have found it to be a very useful supplement to the Ruby standard library. [http://guides.rubyonrails.org/active_support_core_extensions...](http://guides.rubyonrails.org/active_support_core_extensions.html)</comment>


With Windows Phone still sputtering, Microsoft plans to launch own smartphone - <AUTHOR> http://www.bgr.com/2012/10/02/microsoft-surface-phone-release-date-windows-phone-8/ <comment><USER2> This is getting too funny. Poor Nokia - because the biggest loser if Microsoft makes its own phone is definitely Nokia. At least HTC, Samsung and the others can still make Android phones, and don't care as much if they don't sell any WP8 phones.</comment>


A commit history of BERT and its forks - <AUTHOR> https://amitness.com/2020/05/git-log-of-bert/ <comment><USER2> First we need to move away from PDF as a method of distribution of research papers. While it's an immense improvement over the dead-tree medium and images containing scanned paper pages, it's a visual presentation medium instead of a semantic medium.

We'll see how long that particular revolution in communication takes.

Once / if we have all that information in even a loosely structured but plaintext format (whatever that may be ... JSON? XML? semantic HTML? MHTML? TeX? as long as both images and text can live in the same file), there will be another revolution in accessibility, ease of distribution and accountability.

Who knows, we might even stop mentioning GitHub as a best practice for that and use something distributed, blockchain-like.

Imagine a future where citations of previous work looks like "As H.G.Wells et all mention in block 4f98aaf1 document #391, the foo is better than the bar." with hyperlinks of course. Peddling my own wares, it can be done with something like [https://github.com/ivoras/daisy](https://github.com/ivoras/daisy) .

<comment><USER3> Wikipedia/WikiData seem to have already all solved all these problems.

Which is why I think a lot of burnt out scientists spend their time there editing articles.

<comment><USER4> I totally agree, but I think the state of a research field is too malleable / moves too quickly to be a Wikipedia article (where people expect things to be "true").

A few weeks ago I spun up wikisurvey.org to try and make a place for Wikipedia-like collaboration on research. There's nothing on there yet, but I'm hoping it will enable low-latency collaboration once we get the ball rolling.

</comment></comment></comment><comment><USER5> I think this nature of retro-fitting models used for software engineering into research is ill-targeted.

Research is non-linear by nature. One of the reasons research code is usually not well written is because of this same fact - there is no clear plan (or else it wouldn't be research). Restricting research cultures to follow this linear progress model also imposes an artificial block that may be detrimental to productivity. Alternatively, this exercise could demand a second pass over research code which cleans it up and puts it in its "place". This may or may not work because "clean up" is a non-trivial task which the researcher may find limited time and utility for.

By no means I'm against writing clean code. In fact, I've had multiple discussions advocating it but it's hard to keep everyone aligned. The primary objective of research in a fast-paced field like Machine Learning is to get the idea out the door. Unfortunately, the exceptionally compounding benefits of writing clean thoughtful code from the beginning are realized much later in this timeline. By then, it's too late and too hard to retro-fix code.

My understanding so far (having written code for multiple research projects) is that the only way to fix this culture is to deeply ingrain the compounding benefits of clean code in new researchers. By exposing junior researchers to the compounding benefits of "clean" code, we can gradually nudge the community into a more favorable culture with respect to this "commit history" of research.

<comment><USER6> Agreed - and I would say this is part of a larger phenomenon of SWE hubris that expertism in software automatically translates to process expertise in every other domain under the sun.

<comment><USER7> In my neck of the woods (biomedical sciences), this hubris' name is "the andy grove fallacy": [https://blogs.sciencemag.org/pipeline/archives/2007/11/06/an...](https://blogs.sciencemag.org/pipeline/archives/2007/11/06/andy_grove_rich_famous_smart_and_wrong)

and it is _rampant_.

<comment><USER5> I understand the sentiment. Although, the article you link is more of a ad hominem attack than criticism.

Communities must be wary of giving into the Semmelweis reflex. Often times, the perceived "outsiders" tend to have interesting perspectives.

Another example to consider is Fermat vs Descartes - Fermat was a relatively unpopular figure at a time when mathematics was confined to closed-group elitist figures like Descartes. Nevertheless, he provided more elegant perspectives to problems which Descartes thought couldn't be done better.

<comment><USER7> Not Invented Hereism is different from "look, you outsiders fundamentally just don't understand the score, and until you do, i'm going to ignore you".

Swanking into the joint, assuming spherical cows, and berating the locals for being lazy roustabouts who just need to see the light is not going to make you friends, because it's demonstrably not useful. To the extent that there's human politics and gatekeeping, it's resolved by getting ones hands dirty in the lab before one holds forth _ex cathedra_ about things one obviously doesn't understand. It's certainly possible to take valuable ideas from one field and apply them in a productive cross-disciplinary way. The people who do it well don't play this game.

Intuitions and practices developed to handle designed and often linearizable systems for which spec sheets of some form are available just aren't applicable without heavy modification in the biosciences, which routinely deal with eking out victory in systems which are not designed, are wildly nonlinear, and for which the partial specs which do exist are known to be at best lies of omission and often just complete misunderstandings which can be, and are, revised at a moment's notice.

</comment></comment></comment></comment></comment><comment><USER8> I think this is missing the point of the research. The point of e.g. ALBERT isn't

        -Next Sentence Prediction
        +Sentence Order Prediction
        +Cross-layer Parameter Sharing
        +Factorized Embeddings

The point was what each of those things do, in terms of theory and experimentation. Factorized embeddings are needed because of the portion of memory used in embeddings, NSP isn't useful because it's too easy, etc. Consider a paper like this Smoothness and Stability in GANs [0] from ICLR the other week. You could summarize it as Wassertstein loss + spectral normalization + gradient penalty. Or you could summarize the same work as a generator's convex conjugate + fenchel-moreau duality + L-smoothness + inf- convolutions. Both would be missing the point. Research isn't code. Ideas, their motivation, their demonstration, their explanation, and their testing are represented in the form they are for a reason. Natural language + mathematical language + tables + graphs + references, etc.

It's why we aren't having this discussion in terms of diffs versus comments we're replying to.

[0] [https://iclr.cc/virtual_2020/poster_HJeOekHKwr.html](https://iclr.cc/virtual_2020/poster_HJeOekHKwr.html)

<comment><AUTHOR> I've read the ALBERT paper extensively[0] and agree with what you mean. We can't boil down years of research efforts with just 4 bullet points.

The intention in the above blog post isn't to suggest that we discard detailed research papers. It's just thinking about additional mediums we can use to make papers more accessible(a good example is distill.pub and paperswithcode). As mentioned in other threads below, PDF can be a limiting medium.

[0] [https://amitness.com/2020/02/albert-visual- summary/](https://amitness.com/2020/02/albert-visual-summary/)

<comment><USER9> I seem to find myself in the minority, but I don't think distill.pub is a particularly ideal model for publicizing research.

distill.pub heavily favors fancy and interactive visualization over actually meaningful research content. This is not to say that the research publicized on distill.pub is not meaningful, but that it is biased to research that can have fancy visualizations. So you end up seeing a lot of tweakable plots, image-augmentations, and attention weights visualizations. It is also further biased towards research groups that have the resources to create a range of D3 plots with sliders, carved out of actual research time.

For instance, I don't think BERT could ever make it into a distill.pub post. Despite completely upending the NLP field over the last 2 years, it has no fancy plots, multi-headed self-attention is too messy to visualize, and its setup is dead simple. You could maybe have one gif explaining how masked language modeling works. The best presentation of the significance of BERT is "here is a table of results showing BERT handily beating every other hand- tweaked implementation for every non-generation NLP task we could find with a dead-simple fine-tuning regime, and all it had was masked language modeling."

To give another exmaple: I think it's one of the reasons why a lot of junior researchers spend time trying to extract structure from attention and self- attention mechanisms. As someone who's spent some time looking into this topic, you'll find a ton of one-off analysis papers, and next to no insights that actually inform the field (other than super-trivial observations like "tokens tend to attend to themselves and adjacent tokens).

</comment></comment></comment><comment><USER10> Related to this, I have this idea for a while that, publishing a paper, could mean to appear as a submission to a Hacker News style forum, where the users are identified members of the scientific community.

It would allow a kind of public review process of the paper and it would float the more interested papers for the community to the "first page".

<comment><USER11> In theory for arxiv preprints this exists with arxiv-sanity[0]. In practice nobody is discussing anything there.

Same thing for most other preprint sites that have integrated comment sections.

[0]: [http://www.arxiv-sanity.com](http://www.arxiv-sanity.com)

<comment><USER12> When I was doing my PhD there was also SciRate: [https://scirate.com/](https://scirate.com/)

</comment></comment></comment><comment><USER13> I've given some thought to this and a related idea.

Let's say that for a subset of scientific papers you have the possibility of specifying both the premises and results in a way that can be composed.

Let's say for example that your result is that the rate of expansion of the universe is N. Other papers could cite this result let's say through a URL of the result. Other papers could then use this URL as premise for their results and we could create an automatic system that would notify all this papers if the result has changed after new data for any of the elements of the chain. Scientists could be notified that they should revise their own papers to see if their conclusions change with the new data so other papers depending on them can be notified. A paper could be even marked stale if after the change of one of the premises the authors have not confirmed that the conclusions are still valid, this staleness would propagate down the chain

A very simplified structure of the data would be sth like this:

{ premises: ['urlOfResult1', 'urlOfResult2',...], conclusions: [RateOfExpansion: > N] }

This is obviously terribly simplified, I suppose it'd take me a lot of time to clearly explain in more detail how such a system could work and I thought about it a long time ago.

It could be interesting to apply this to other fields, for example public policy: In this case let's say that we have created this law because of this piece of data. The data changes, we could be notified that perhaps the law could benefit from a new look.

{ premises: ['urlOfResultLeadIsNotDangerous'], conclusions: ['PeopleCanUseLeadInPipesAsMuchAsTheyWant'] }

Such a system could be made even more generic. Probably people have already worked in this kind of systems but I never took the time to investigate it. If someone knows of examples of this kind of systems applied I'd be very happy to know more

<comment><USER14> Hi, nfc. This is along the lines of the problem we are trying to solve with Mimix[0]. Like your JSON structure, we are using s-expressions to denote facts in text narratives so we can detect when they have changed between papers.

Instead of a centralized, URL-based solution, we do the fact comparisons locally, allowing each user to decide what source of facts he or she considers "canonical." The facts and their sources are recorded in that user's writing going forward so the next user has the same access to sources.

[0] [http://mimix.io](http://mimix.io)

<comment><USER13> That's great, it's certainly something fascinating to explore, I'm happy you are working in this kind of ideas :). I'll have a look when I'll have a bit more time.

Edit: Remove the question about contact info since you already answered in your comment in another thread :)

</comment></comment></comment><comment><USER14> We are working on a similar concept[0] using a programming language designed for this exact purpose[1]. One of our key ideas is "fact diffing" between two papers with different narrative text. We think this will be useful in all kinds of scientific and academic work.

[0] [http://mimix.io/recipes](http://mimix.io/recipes)

[1] [http://mimix.io/specs](http://mimix.io/specs)

<comment><USER13> Hi mimixco, I just wrote a comment [https://news.ycombinator.com/item?id=23124707](https://news.ycombinator.com/item?id=23124707) about some thoughts I had about this kind of ideas, what do you think?, I'll try to read more about what you are doing as soon as I find some free time :)

<comment><USER14> Ok, I wrote a little something over there, too. :-) Thanks for looking at our stuff and feel free to email me. My contact info is on our site.

</comment></comment></comment><comment><USER15> A meaningful diff summary like this can only be made in retrospect after some time. There are a lot more differences between, say, BERT and XLNet than the ones listed. At the time of publication, it wasn't yet clear which particular differences were the important ones (and to some extent it is still not clear).

</comment><comment><USER16> A really interesting take! Makes scientific papers feel more like a tool rather than an article or book. Certainly nice in the case of Computational work. Also allows the potential for long term projects that get incremented on in what would've been separate papers. Additionally if new, relevant information comes to light long after a paper has been published, the authors could reference this to give a more complete story.

<comment><AUTHOR> Agree. This makes a lot of sense for incremental papers.

<comment><USER7> "shingling" is the (fairly rude) term of art.

<comment><USER17> I don't know how it's rude, shingling means 'many small roof tiles' to me.

<comment><USER7> 'term of art' means that there's a specific meaning inside a particular sphere of discussion for this term (which has normal sense elsewhere).

To accuse a research group of shingling means that you think that that group releases a lot of papers one after the other which have a lot of overlap between them and back-cite each other-- and that this is done to artificially boost publication count and citation count to make the group look prominent.

<comment><USER17> Cool, thanks, I did a quick search but nothing came up - I assumed it was something scatalogical :o)

</comment></comment></comment></comment></comment></comment><comment><USER18> See [https://nextjournal.com/#feature- immutability](https://nextjournal.com/#feature-immutability) for an example with Immutability on all levels of the system - not just the source code, but also the computations/analyses.

</comment><comment><USER19> I wish research papers had a much stronger notion of "effective date".

By that, I mean the date to use to interpret any wording like "current" or "recently" or "yet" used inside the paper.

For some reason preprints often have no visible date on them at all, and automated datestamps can be misleadingly recent, if someone makes a minor change without rewriting the whole thing.

</comment><comment><USER20> Almost, but not quite, entirely unlike this?

[https://en.wikipedia.org/wiki/Special:History/Wikipedia:No_o...](https://en.wikipedia.org/wiki/Special:History/Wikipedia:No_original_research)

</comment><comment><USER21> Very interesting and creative way to visualize related papers.</comment>


Noria: UI Reconciliation Library for Clojure, Kotlin and Rust - <AUTHOR> https://github.com/JetBrains/noria-clj <comment><USER2> Similar to MobX's computed properties: [https://mobx.js.org/refguide/computed- decorator.html](https://mobx.js.org/refguide/computed-decorator.html)

Except MobX uses automatic pub/sub to detect deep changes in mutable arguments, since JavaScript objects are mutable. This pattern seems like a more straightforward match for Clojure.

</comment><comment> j-pb Kinda feels like its complecting memoization with state synchronisation, no?

<comment><USER3> It seems like it. I published a library two years ago that doesn't do the memoization, but provides a clean API (in my biased opinion) to state DAG evolution: [https://github.com/notduncansmith/factfold](https://github.com/notduncansmith/factfold)

</comment></comment><comment><USER4> Where's the "rust"? Not found in README.

<comment><AUTHOR> [https://github.com/JetBrains/noria- clj/search?l=rust](https://github.com/JetBrains/noria-clj/search?l=rust)</comment></comment>


Ask HN: moving to Thailand for 2-6 months, any advices? Anyone join me? - <AUTHOR>

So I decided I should do this some time, just to change the scenes and boost productivity, so this December I'm probably moving to Thailand for 2-6 months where I'm going to code the hell out of my current projects. However I'm not really sure where do I ask a couple of things I'm concerned about. I was hoping some HN people lived/are living there and could give me a valuable advice.
I'm mostly concerned about renting an apartment: 1. Is it a good idea to look up an apartment on the internet (if so, what's the best website?) 2. What are the usual agencies fees and other conditions there? How much do you actually pay if you get an apartment for $x? Is it $2x? $3x? 3. What can go wrong in the process of renting an apartment? 4. I heard that most apartments are rented for 6 months or more. Does that mean I lose some money if I move out earlier?
Also, if anyone was thinking about doing the same, you are welcome to join me. Not suggesting living together, but meeting up and making friends could be exciting. And I would also be glad to meet people who already live there.
Thanks, HN. <comment><USER3> Hey there. Like many others, I lived in Thailand for a number of months, boxing. I don't have too much advice regards the housing.

I do however have some advice regarding your time there. Be very aware that no matter where you go, you will be perceived as well off. You will (seriously) be batting women away left right and centre. Very pretty women who see you as their ticket out of there.

If you do gain a girlfriend, don't be surprised that your money will go nowhere as far as you had hoped. Scooters, money for family, eating out more - all will make their way into your life very quickly.

It's easy to say it will never happen to you - you don't have to go looking for a partner out there. They will find you and persue you. For Western men, this can be a huge change from the generally more entitled women of the West. Please excuse my asumptions that you are interested in females - I don't know if the same is true for Thai men.

<comment><USER4> Having only _visited_ there, I can concur.

If you do decide to date a Thai woman, be very careful, the culture of dating there is extremely different then the West. I would highly recommend research into how the culture works before you get into something you might end up regretting, it's certainly not for everyone. You will find it very difficult to find the difference between sincerity and gold digging. Also, be very careful of working girls.

Oh, and stay in the north for cheaper living, Chang Mai is awesome! Don't pay more then 70Baht for a Big Chang!

</comment></comment><comment><USER5> I haven't lived in thailand, but lived in China for a year, and I find that anything found on the internet that is in english has the rents raised substantially.

You may want to start by staying at a hostel and becoming friendly with the hostel staff. They usually have friends who know friends who will be able to help you out for sure.

You may also want to bring a bit of money to hire someone from the country (in china you can pay around $500-$600/month for a full time university graduate who majored english) to be your personal assistant while getting things set up for you. In fact I would highly recommend this.

In China, we had to sign a year lease, but actually got out of it early and it wasn't a hassle at all but that may just be that our landlords were great.

Another idea you may want to try is to use something like couchsurfing.com just to meet local expats there. When I lived in the Caribbean I used to let people couch surf and would introduce them to the locals that would show them what they wanted to see/do. You don't even need to stay at their house, you can just ask them questions through the website.

Good luck on your adventure, I haven't gotten to Thailand yet, but as soon as I can make it out there, I will. Iceland is next on my list.

<comment><AUTHOR> Thanks for this valuable input. I will probably use some of the advices. And couchesurfing.com is exactly what I've been looking for.

</comment></comment><comment><USER6> I have traveled extensively in Thailand. The one city I love & keep going back is Chiang Mai. It has great coffee shops with free WiFi, an excellent ex pat community, plenty of colleges and friendly folks . I would book your stay at Spicy Thai Backpackers Hostel. The owner Pong is pretty cool, plus it's in a quiet neighborhood. He can also help you find long time rentals. Hope this helps.

</comment><comment><USER7> Doing much the same but in the Philippines. Don't rent an apartment, you could likely get a hotel room which is not much more expensive than an apartment (some people here live in hotels long term) while you look around. Forget about agents, just ask around, probably other expats. You should be able to find apartments which are month to month.

</comment><comment><USER8> Here's my advice for Vietnam, probably also applies to Thailand. You don't need to bother finding a place before you arrive.

1\. Go to the tourist/backpacker area, find accommodations. 2\. Find a reasonable hotel you can stay in for a few weeks. 3\. Find a cheaper place you can stay at for a few months.

And.. 0\. Look on expat/travel forums instead.

</comment><comment><USER9> 1\. No, get it when you're there. Reserve the first two weeks to get settled and organized.

<comment><AUTHOR> Yeah, thanks. I was thinking exactly that. Any tips on the agencies to go to then?

<comment><USER9> I would stay in a popular hostel and ask around in that hostel. There will often be notices hanging there as well.

Sharing an apt can be a lot of fun too, and easier to arrange.

</comment></comment></comment><comment><USER10> I've been in Thailand on and off for around a decade. I founded / used to run a PR agency in Bkk and now write software. I'd be happy to give you some pointers. Email me at mbenjaminsmith at gmail. - <USER2>

</comment><comment><USER11> I planned on Malaysia this winter ($ allowing) rather than Thailand for various reasons, otherwise I'd join you.

Reasons include:

1\. Money

2\. Stability

3\. I know more people in Malaysia</comment>