HNHacker News
TopNewBestAskShowJobs

mephitix

997 karma · joined December 29, 2011

submissionscomments
mephitix··on Styled Components v3.0.0
I agree, that's why I like styled components so much. It's all based on vanilla CSS - there's no new syntax. I use animations, pseudo-classes, etc all with styled-components. Animations with react are cumbersome. So I try as much as possible to fall back to CSS animations - they yield better perf anyway. With styled components this becomes easier since you can have CSS values derived from React props.
mephitix··on Styled Components v3.0.0
>>a guy who's skipped the React, Angular, Vue hypes

This is the root of your consternation. Like everything in our industry - experiment, build, then judge. I was a naysayer initially too. Then I tried React, Redux, styled-components, etc. and now I'm a believer. Combine this with modern CSS like Flexbox and CSS Grid and it truly is a golden age of web development!

mephitix··on Styled Components v3.0.0
1) I can directly style multiple components within a file, each having their own style.

2) Since it's in javascript, I can reference JS variables within the file. I can derive CSS values from props passed into the component: styled.div`color: ${props => props.userColor}`

3) I can extend other styled components' styles - i have a small shared library of central components like buttons, inputs. I can extend those: styled(MyThemedButton)`color: ${props => props.specialColor}`

4) I can use awesome micro-libraries like styled-system to add parameterization to the JSX elements: const Foo = styled.div`${space}`. ... <Foo key='1' mx={1} my={2} />... <Foo key='2' mx={2} my={3} />

5) I can change the style of every single styled component with a ThemeProvider. styled.div`color: ${props => props.theme.headerColor}`

6) I can see everything related to the component in one single file.

mephitix··on Show HN: Beer Review Analysis
Interesting.. but using a pie chart for score distribution makes me sad :(
mephitix··on After Equifax breach, anger but no action in Congress
This logic makes no sense to me. You have a company that stores, without consent, highly personal data for almost every American. There was an implied responsibility to protect that information. For such a company, security should be pretty high on the priority list. All of the following is negligence:

1) Store all this information, unencrypted

2) They were told of the vulnerability in March and had 2 months to update the software.

3) Afterwards, set up a broken website with a DV certificate to accept SSN numbers.

4) The website, even though was a vulnerability disclosure, tried to _sell_ an Equifax identity monitoring package.

5) Redirect your own customers to a phishing website set up by a white hat hacker

6) Allow employees to have usernames/pws like 'admin/admin' on edge servers

The circumstances that led to the vulnerability, and the actions that Equifax took afterwards absolutely warrant outrage. And this is not even taking into account the original point - this is a pattern of incompetence and failure - but to add to the fire, Equifax was a company that was tasked with storing highly sensitive personal data for millions of Americans and did not take the appropriate security steps to do so; in fact, they ignored even the most basic security measures. They should have had at least bank-level security with such a responsibility. There is no excuse.

mephitix··on Learning to operate Kubernetes reliably
Setting aside the k8s content itself, I love the way this article is written. It's not a typical tutorial or tips/tricks but takes you time-traveling through the experience of a big company adopting nascent tech. Lot of great things to take away even outside of the kubernetes tips.
mephitix··on Show HN: Cryptocurrency portfolio app on Blockstack
This has nothing to do with storing coins. It's a portfolio tracker.
mephitix··on Litecoin price, tweets, and conflict of interest
I'm also struggling to understand this, but I guess the only way I can is by thinking of this as a CEO who decided to take a $1 salary + decided not to take any stock awards, but still wants to work at their company because they truly believe in the products they build, without any cash. The difference though from CEOs like Steve Jobs of course is the lack of equity. In this case it's like the founder of Litecoin is saying "I want Litecoin to evolve in a decentralized and organic way. It is meant to evolve without a singular influence, including myself".

Cryptocurrencies are (supposed to be) decentralized so having a large stake/hash power/etc. probably goes against that philosophy.

mephitix··on E Pur Si Muove
Huh? In SF I can walk down the street or go into a restaurant and hear people saying how bad Trump is. In China if someone hears you, they will report you and you will be taken in. How in the world is this the same reaction?
mephitix··on E Pur Si Muove
Yeah, whatever points this article had were completely marred by terrible examples.

Saying it's easier to talk about things in China vs US. I've been to China and you can get thrown in jail for saying the type of things we say re. our political environment. My friends there have to speak in whispers in public while people in SF have no problem raging about our politicians.

And saying we should "allow people to say disparaging things about gay people if we want them to be able to say novel things about physics". At its least a really poor choice of words there. The choice of words makes it sound like it's okay to stand aside while they spout bigotry. Perhaps he meant it's okay to say it, but we should argue against it - but unfortunately for him that point was not made because the intention of the article was to support free speech. Bad example.

mephitix··on Chrome Apps are dead, as Google shuts down the Chrome Web Store section
Well that sucks. Thanks a lot for the info.
mephitix··on Chrome Apps are dead, as Google shuts down the Chrome Web Store section
This is news to me. I thought WkWebview used the same internals as mobile safari. So it's just the JS engine/Nitro that's the same?
mephitix··on Chrome Apps are dead, as Google shuts down the Chrome Web Store section
There is virtually no iOS support though. Even though service worker and app manifest are being worked on at the moment in Webkit I think it'll be a while before we see safari/mobile safari updated. I completely agree PWAs are the way forward though.
mephitix··on MacOS Update Accidentally Undoes Apple's “root” Bug Patch
I agree that management fucked up to allow this to happen again. But saying it's purely management's fault is another extreme.

In big companies there are layers of 'management', including down to dev leads and tech/virtual leads who are devs by title. Knowledge of codebase/systems/deployment increases as you get down to the leaves. There are architects, release managers, product managers, etc. that should have provided multiple checks/balances. It's easy to point at "management" in big companies just as it is easy to point at "developers". But there's a whole bunch of nuances in the middle.

mephitix··on MacOS Update Accidentally Undoes Apple's “root” Bug Patch
For something as serious as the initial bug (especially given it was all over the press) there should have been regression tests for this.

Either deployment was broken, the tests were broken, there weren't tests, or multiple of the above :\ anyway I'm hypothesizing but would love to see a post-mortem on this. How does a generally reliable company like Apple screw this up twice?

mephitix··on Microsoft doubles down on Kubernetes for Azure
>> As an aside, the current ingresses (including the Nginx one and Google's own GLB one) all have annoying deficiencies

Agree, this is along the lines of what I meant. For example GCE ingress allows you to reference a global static IP while this is not possible with solely nginx ingress due to limitations with the TCP load balancer. There are separate ingress annotations for GKE/nginx/haproxy, etc. If I want to use the global-static-ip GCE annotation, this will make it a little harder to move to Azure.

mephitix··on Microsoft doubles down on Kubernetes for Azure
This is a good thing; Microsoft will increase competition in this space by applying its expertise in dev tools to Kubernetes.

I just hope that MS doesn't add in too many platform-specific pieces that would encourage vendor lock-in.

For example k8s ingress right now is based on controllers and GCE controllers support/don't support a wide variety of things compared to nginx ingress... these areas of Kubernetes make me worried about potential future switching costs.

mephitix··on How Evil Is Tech?
My humble, personal opinion that I have been reluctant to share:

I am embarrassed by what has become of some parts of the industry I love. For as much as Silicon Valley professes that it wants to "make the world a better place", you can also find

- social media websites that feed on people's addictions, almost forcing them to post and share as much as they can instead of simply enjoying moments in their lives.

- the proliferation of fake news; this one stings a lot. When I was younger the internet seemed like such an incredible learning tool. Many years later, walled gardens driven by algorithms intent on feeding narcissistic tendencies allow people to fall deeply into their own confirmation bias. This is a kind of 'anti-learning' that has developed out of FUD that is only getting propagated throughout all these social networks.

- big tech companies where employees are sold on "making the world a better place" but instead become completely dependent on attaining fake labels like "senior engineer" - and yet have never actually talked to a single user.

- games that are no longer fun, but are now environments deliberately set up to trap users in their own Skinner Boxes, pulling levers and pushing buttons to open loot boxes that slowly drain out their bank accounts

- the outright denial of many people in the tech industry that any of the above is a problem. Simply read through the comments on this HN page. Identifying that any of these things are problems is the first step in fixing them.

mephitix··on Firefox Quantum vs. Google Chrome Speed Test
Would love to see a similar test with CPU usage as well. I tried Quantum on OS X for a few days and had to go back to Chrome because it felt like 75% of the time opening a tab would cause my computer to take off
mephitix··on Introducing Nullable Reference Types in C#
This looks a lot like Swift optionals - which to me is a great thing.

I haven't tried this out yet but I also would love to see Swift-like optional binding (if let...) While it's great if the C# compiler + intellisense could figure it out I prefer having different vars to differentiate nullability/non-nullability.

mephitix··on Much ado about iOS app architecture
I generally agree with this sentiment.

VIPER is terrible except for maybe 1% of projects - and those projects I envision having thousands of developers, dealing with legacy code, and fragile infrastructure.

I've seen companies actively avoid auto-layout and storyboards because "it messes up during merges", so then they turn to ridiculous code-based layout which makes it impossible for designers to work with. However all those storyboard format issues were resolved back in XCode 6 (or maybe even XCode 5). I think XCode 7 introduced storyboard references which allowed devs to work on decoupled storyboards without any possibility of conflicts.

Anyway what I've landed on for production apps is something closer to MVVM: Using Swift's protocol extensions for dependency injection without any frameworks, and having a view interface over the controller for testing business logic. There are other small tweaks, but for the most part, no crazy frameworks, no fighting the system.

I don't agree with the idea that you HAVE to use MVC. You should try out some of these ideas if you have the time/resources and see what works, what doesn't. Make the call based on team/time to market/skills/performance requirements/reliability requirements/etc.

If I'm writing a quick prototype app i'm going M(assive)VC all the way.

mephitix··on Much ado about iOS app architecture
Dependency injection is surprisingly easy with Swift since you can implement it with protocol extensions. You don't need a framework or anything:

http://www.danielhall.io/a-swift-y-approach-to-dependency-in...

mephitix··on Anvil: full stack web apps built only with Python
Very cool. I had no idea about some of these features. 'Escape hatch' is a much better way to think about this instead of 'eject'. Re. create-react-app: I definitely prefer it when other libraries (like cosmos or storybook) integrate directly with CRA without forcing me to eject.

It sounds like these features go a long way toward addressing the concerns people had re. my parent comment. You can provide custom frontend or backend code with sacrificing too much of the power of Anvil.

mephitix··on Anvil: full stack web apps built only with Python
I agree it's a tough problem - especially because you want a combination of 'get up and running quickly' with flexibility. At some point you might want to eject out of the entire system and start coding on your own without wysiwyg, etc. That's why I used the Microsoft and CRA examples because I think they (eventually) got it right... CRA especially shows how one single company doesn't have to create the whole ecosystem. There are so many OSS tools that support CRA and build on it.
mephitix··on Anvil: full stack web apps built only with Python
"users don't want to kill themselves during interaction" - touché :)

I agree with you, but taking the create-react-app example again - I can very quickly scaffold a react app with necessary toolsets, built on top of webpack. This gets me up and running without having to mess with webpack config.

At some point, I need to break out of these opinionated guardrails and do my own thing. At that point create react app has an 'Eject' feature which opens up the black box and dumps all webpack configuration and scripts for me to hack away on. The Anvil tool seems to have something similar where you can grab all the sources, download, run, and publish it yourself.

mephitix··on Anvil: full stack web apps built only with Python
I love it. But seeing this now, in 2017, is a bit depressing to me.

For the last 15 years Microsoft has been putting out the same RAD tools, but based on ASP.NET/C#/Visual Studio. Things like drop-in provider-based OAuth, editing versioned database projects, WYSIWYG UI, etc. Publishing to the web, even the flow of clicking on a button to edit its handler looks like it was based directly on Winforms which is a 12 year old technology.

Why aren't there more of these things out there?

How much time now is spent learning the latest and greatest framework/toolkit/etc. only to spend more time configuring individual components and cobbling them together vs. just getting the product finished and published to users? I don't mean to be cynical but I wish there was some way all these different tools somehow built on each other instead of constantly resetting the dev stacks.

For example, Create React App - I'm constantly impressed by how it has eschewed configuration in favor of getting things done while still having a lot of flexibility. It draws on a lot of great, previous past projects and seems to define the train of thought for other react projects. It seems to me that people like Dan Abramov, Brent Jackson, and others are on the same wavelength which is incredibly powerful for the react community.

There should be a way for that sentiment to extend beyond React, into the database world, the IDE world so that we can collaborate and create more nice things like this.

mephitix··on Show HN: Ice – WSGI microframework to develop small web applications in Python
Seen Sanic[1] yet? I've become a fan... works well with asyncpg[2] too.

[1]: https://github.com/channelcat/sanic

[2]: https://github.com/MagicStack/asyncpg

mephitix··on Beta Family: 50k Users to Test Your App
Thanks - I already reached out. I'm excited to try it out for another game in Sept! Your support team has already been very helpful.
mephitix··on Beta Family: 50k Users to Test Your App
Once you create the test, you can open it up for applications. You can also search based on the demographic you want (age range, geographic, etc.) and invite users yourself.

If people apply, you can pick from those. I invited about 60 testers and had ~180 others apply. I was able to pick from that 180 set - and the reward goes only to them.

Also, before you start the test, you buy 'Beta' credits. You can choose to use these however you want, for example if you buy 50 beta credits, you can give a $5 reward to 10 testers, or a $10 reward to 5 testers. You can buy more credits as you go if you want to offer rewards to more testers.

mephitix··on Beta Family: 50k Users to Test Your App
I'm guessing you didn't put up a reward. I put just a $5 reward per tester and got ~100 testers who applied within 2 weeks.
← PreviousPage 5 of 6Next →