HNHacker News
TopNewBestAskShowJobs

AlwaysBCoding

882 karma · joined September 4, 2012

https://www.youtube.com/channel/UC8CB0ZkvogP7tnCTDR-zV7g

[ my public key: https://keybase.io/alwaysbcoding; my proof: https://keybase.io/alwaysbcoding/sigs/ES-ODI1v11tS_xq38nxpRtSoFMBs30d--AiC25_1s3g ]

submissionscomments
AlwaysBCoding··on The State of Meteor Part 2: What Happens Next
My $0.02

React is a rendering engine, it's covers the final piece of your web app (rendering a data structure into DOM). But whatever you do to create the data structure that gets passed to React is up to you. This keeps most of your domain logic outside the context of the React framework, you just use React as a tool to render you final data structures into DOM. So basically the API you need to know for your domain logic is just Javascript, which most people know already and it's really easy to lookup answers to your questions etc...

With Angular your domain logic exists inside the context of the framework. i.e. if you ng-repeat something you can't just filter that collection with Javascript you have to use an ng-filter to do it which is a special Angular construct. So the API you have to learn to manipulate data isn't just Javascript it's Angular-specific. And what if you don't know how ng-filter works? Well, you're tied to the Angular docs to figure it out. The Angular docs are of particularly poor quality so this coupling turns into a really serious problem if you're trying to be productive, because you're constantly reading docs to figure out how you do something in Angular.

I'm not sure how Angular2 is since I haven't used it, but to me React vs. Angular1 is a no-brainer win for React, since it's much easier to be productive in React + you can target mobile now with React Native. Something I've noticed also, there are basically no developers who have switched from React to Angular and now evangelize Angular, yet there are thousands of people who have switched from Angular to React and now evangelize React. I think that speaks for itself in the sense that anyone who has used both extensively prefers to use React.

AlwaysBCoding··on Show HN: ReactNativeAutoUpdater – support dynamic updates for React Native apps
There's another one I came across recently also https://getsiphon.com/
AlwaysBCoding··on Twitter Considering 10,000-Character Limit for Tweets
To the people thinking 10,000 characters means suddenly everyone will write blog posts instead of tweets... Have you ever tried blogging? Writing blog posts is insanely hard and time consuming. You'd be an outlier if you could write one good blog post a day. It's not like every tweet is suddenly going to be an essay. More likely tweets will just be slightly longer (200 characters or something) and then there will be the occasional longer post. This is great because the hacks we were using beforehand (tweetstorms, replying to yourself, posting images of text) were all ridiculous for such a basic use case.
AlwaysBCoding··on Twitter Considering 10,000-Character Limit for Tweets
And the publish/subscribe model being a possibly superior alternative to a two-way opt-in friendship model, is probably the reason for twitter's success not the 140 characters. So by keeping the subscription model but allowing for longer content, I think it's a win-win.
AlwaysBCoding··on Twitter Considering 10,000-Character Limit for Tweets
The character limit is a massive problem though. Tweetstorms, replying to yourself, and posting images of text are all ridiculous hacks for a basic use case.
AlwaysBCoding··on React/JavaScript fatigue
Also you don't really need to use a flux library or Redux if you're using Reagent, it's pretty much all set up for you.

I've been using ClojureScript/Reagent for about a year now and all this JS tooling talk goes way over my head, I haven't needed to use any tooling other than lein cljsbuild for a while now, and it's glorious. If the Clojure community / ClojureScript was more approachable to beginners I think ClojureScript would be taking over right now.

AlwaysBCoding··on Pokemon Go for iOS and Android
Kind of crazy to think how different Pokemon Red/Blue would have been if they were developed in the current age. Buy a rare candy for $1. Pay 10 cents to heal the PokeCenter. You're only allowed 20 battles in a day unless you invite friends on facebook.

Would have made so much money.

AlwaysBCoding··on Hillary Clinton Urges Silicon Valley to ‘Disrupt’ ISIS
Here's a better idea.

Stop publically calling Edward Snowden a traitor, stop trying to pass nonsensical cybersecurity legislation through congress, remove the ridiculous ban on working for an intelligence agency if you've smoked Marijuana in the past year, have a quicker and more transparent background investigation process for security clearences, and start winning some goodwill with the developer communities if you want help with political conflicts.

AlwaysBCoding··on Nextdoor Is the Lastest Company to Enter On-Demand Services
It's in that Thumbtack/Shyp category of billion dollar companies where the only time you hear them mentioned is from VC's and TechCrunch not actual users
AlwaysBCoding··on Don’t bother with Swift for iOS development
I actually think we're at the point where it's an irresponsible business decision to build an iOS app in Swift over Javascript in most cases. React Native can target both iOS + Android with a much better development workflow than Swift can offer.

Why on earth would you want to use Swift when it's harder and more time consuming to implement, takes longer to learn, has worse library support, is harder to hire for, and only targets one platform? Apple really dropped the ball with Swift.

I suppose that "performance mandates it" is a valid reason for wanting to use Swift. But I think for 95% of apps Swift is the wrong technology choice.

AlwaysBCoding··on Lessig Ends Presidential Campaign
Um... Debbie Wasserman Schultz, the chair of the DNC, was the co-chair of Hillary Clinton's 2008 campaign. It's no secret she wants Hillary to win the nomination.

It's actually a pretty fucked up system. The rules for qualification into the debates are decided by Wasserman Schultz and her alone, so the "rules" end up being in practice "will this make Hillary Clinton look good or bad?". Lessig's inclusion ran the risk of making Hillary look bad - by calling her out on her corporate donors - so he was excluded. Clearly this is not how we should have public debates about the future of our country.

For what it's worth, Wasserman Schultz is already under fire for restricting the Democrats to only 6 national debates. Almost every other executive in the party thought this was a bad move since it gives the Republicans significantly more airtime, but remember the rules are decided by Hillary Clinton's campaign co-chair.

Also Trump just called her out, which is pretty funny. http://www.mediaite.com/online/trump-takes-aim-at-highly-neu...

I don't think she's going to keep her job.

AlwaysBCoding··on My Livecoding.tv account deletion saga
It's probably this. I've livestreamed on Twitch + LiveCoding and have no clue why you would ever use LiveCoding. Twitch and Youtube seem like they're better in every capacity.
AlwaysBCoding··on Prohibition was primarily the work of one pressure group
Also, Prohibition was enacted via a constitutional amendment, yet a large portion of people simply ignored it. It always gets understated what a massive crisis this ended up being for the integrity of the US Constitution. If one amendment was seen as optional by an increasingly larger group of people, maybe the others would be as well. It was important for the integrity of the government that they repeal the amendment. I have a feeling if prohibition were enacted via a complicated loophole like the one that keeps the horrible 21 drinking age afloat it would have been much harder to repeal in full.
AlwaysBCoding··on Larry Lessig: I'm All In
yeah like a five person team who's CEO spends 70% of time fundraising is probably fine. But an ENTIRE team that spends 70% of their time fundraising perpetually would be about as effective as Congress actually is.
AlwaysBCoding··on Larry Lessig: I'm All In
The "limit" on campaign donations is a complete farce though. Let's look at Jeb Bush. Jeb stated multiple times that he wasn't running for president in 2016, and instead started a Super PAC that let him raise uncapped campaign donations, and ultimately raised over $100 million. Then he announces that he had a change of heart, was indeed going to run for president, and gave control of his Super PAC to a friend of his. And now he has $100 million to play with, fuck that $5k limit, and the voters/peasants who would donate it.
AlwaysBCoding··on Larry Lessig: I'm All In
The thing is though, Lessig is completely right. Members of Congress spend 70% of their time raising money. They're not lawmakers, they're professional fundraisers. Think of a startup whose founders spent 70% of their time raising money, they would never get anything done. And since fundraising is now such an integral part of a Congressman's day to day, they have two classes of constitutes to think about: the voters, and the funders. And there is a very small group of people who give > 50% of all campaign cash and more or less have control over the entire country. This is why common sense laws that have majority support from the voters (gun control, marijuana legalization etc...) never get the traction they should. The funders don't want them, and they have the final say, not the voters. It's crazy how complacent people have become about government incompetence.

The becoming president and then resigning thing was weird. I'm glad he's dropping it, because you can hate the method all you want, and I too think he comes off really distant out of touch sometimes, but what he's saying needs to be heard.

AlwaysBCoding··on NFL Gets Prominent Sports Sites Suspended From Twitter For Posting Vines & GIFs
It's become impossible to ignore how terrible the NFL's decision making has been in the past few years, and I'm starting to wonder if a FIFA situation where every top executive is simultaneously removed is the only logical end-game for this mess.

Their hypocrisy about saying gambling is a major threat to the league, while simultaneously lobbying congress for fantasy sports loopholes in gambling legislation and ramming FanDuel commercials down our throats.

Ignoring concussion research for three years and actively trying to intimidate researchers. Then pretending to care about player safety while simultaneously pushing for a longer season schedule.

Making everyone in the NFL wear pink for a month to market to women, while simultaneously sweeping multiple cases of domestic abuse under the rug.

Ignoring federal labor law while trying to suspend their best player for something he didn't do wasting millions and millions of dollars in the process.

And now, declaring war against media companies and making it harder for fans to follow the sport because they want to run 30-second pre-roll ads in front of 6 second video clips which will never even come close to working. It's an utter disaster. I have no faith in the NFL to conduct itself competently in the modern media landscape. They are such an embarrassment of an organization. I've never felt that way about a sports league before but the 2011-present NFL is just so awful.

AlwaysBCoding··on Fantasy Sports Employees Bet at Rival Sites Using Inside Information
This is just one of many scandals for DFS in the past weeks. DraftKings had to refund all MMA bets on Saturday because of a "data error" -- it was sketchy as hell.
AlwaysBCoding··on AppHub – Update React Native Apps Without Re-Submitting to Apple
This is awesome (and was seemingly inevitable now that React Native is in play), and it will be really interesting to see what Apple eventually does about this.

If they change the terms of service to prevent hot loading app updates via JavaScriptCore they're going to isolate a lot of developers, since so much cool stuff is being developed around JavaScriptCore right now. The rnplay playground app that's currently in the App Store dynamically loads entire apps onto your phone to play around with -- it's so cool, why block things like that from existing?

If they do nothing, it's clear a rogue app store distribution ecosystem is going to evolve (case in point ^) which seems like a sub-optimal outcome for everyone.

Isn't the only eventuality for Apple to change their app store approval process to allow dynamic updates? I mean it's obviously better for developers, and probably ultimately better for end users as well. I just don't see any way around it with the momentum writing iOS apps in Javascript has right now.

AlwaysBCoding··on Relay Technical Preview
I mean, this isn't like a kickstarter project where you have a nice video from some random person and nothing but blind optimism it can actually deliver. This is Facebook open-sourcing a library that has been in their production codebase for multiple years. It solves a specific problem that most developers are intimately familiar with, and has already been praised by people in the tech community who aren't officially associated with Facebook. It's ok to get excited about this :)
AlwaysBCoding··on Relay Technical Preview
Well the whole idea of Relay is to couple together the rendering logic of a UI component with the data fetching requirement of the component. So if you change the rendering logic of the component, the data that is fetched from the server will also change with it and you'll never be over/under fetching data.

But inside the UI component you're really just defining the schema of the data to be returned from the server, you're actually implementing how to fetch that schema from the database somewhere else in your codebase.

Clojure 1.7 introduces a new file-type with extension .cljc that can load in both Clojure and ClojureScript. Which means you should be able to define both your React component AND the Server side implementation of the data fetching schema all from one file. Pretty frickin' cool if you ask me. One file, one component, that knows how to render itself, fetch it's data and serialize it's data.

AlwaysBCoding··on Relay Technical Preview
I'm totally cool with Facebook mining my data if their open source keeps up this pace. GraphQL + Relay are total game changers for structuring web + mobile applications. Code bases get cleaner and more reliable. Less data gets sent over the wire. Other cool libraries are going to be built on top of Relay (I'm pretty excited to see what can be done now with ClojureScript components in .cljc files).

This is so awesome. Much love to everyone at Facebook that has made this possible. With React, React Native, Rebound, GraphQL, Relay etc... You're saving us all from drowning in complexity when buiding web/mobile apps and I love it. Keep fighting the good fight.

AlwaysBCoding··on The Hamburger Menu Doesn't Work
Just use a tab bar where the right most tab is "more" and that brings up more navigation options. Can still have more than 5 nav links and avoids the hamburger menu, you can thank me later.
AlwaysBCoding··on Netflix and the Napoleon Dynamite Problem (2008)
All those hours and millions of dollars into perfecting their recommendation system, and Popcorn Time still has a better UI for viewing movies than Netflix does. Just show me all the top movies and let me pick one, why partition them into drama/comedy and filter out the one's you don't think I'll like? it makes the experience worse.
AlwaysBCoding··on Opal-native – React Native in Ruby
This is awesome. I'm really curious to see if the Ruby community will ever fully embrace something like Opal.

Having used ClojureScript a bunch it's pretty nice to compile whatever backend programming language you're using to Javascript to use in your UI. Makes it really easy to share data structures between the front and back end. Would be really interesting to see more Ruby code written this way.

AlwaysBCoding··on Fast JavaScriptCore Desktop ClojureScript REPL
I've been using the Reagent library for all my web UI's and it's simply incredible. I desparately want to translate this same workflow to iOS.

I'm a huge fan of React Native, but it's just not the same writing it in Javascript vs. using ClojureScript/Reagent. With the Javascript React Native workflow you're still forced to include npm modules to do basic enumerations, and the technical debt added to your codebase because of JSX is really painful.

Since Reagent components turn into React functions it seems like you should be able to write React Native apps in ClojureScript/Reagent and solve all these problems. I just don't even know how to start setting that up. Can I just use the regular CLJS compiler to save a javascript file and run it on the iPhone? Is there a tutorial or really simple example of the clojurescript to react-native workflow somewhere that you know of? If you wanted to learn more about this stuff where would you recommend starting?

AlwaysBCoding··on After the Layoffs
Yeah I agree,

I saw a round of layoffs go by at a company I worked at that caught me by surprise. It always felt extremely disrespectful to me that I wasn't alerted beforehand. A simple heads up the night before would have done wonders.

AlwaysBCoding··on Fireside Chat with Paul Graham [video]
I've always thought that Apple's horrific App Store approval process was the single biggest threat to the Apple empire. Glad to hear someone else speak out about this. It's seriously absurd that there's an arbitrarily enforced stopgate that prevents you from deploying code. It's a complete disaster. If someone could make a way to instantly deploy code to mobile phones every developer would switch in a second.

The Apple App Store approval process is like that one random weak spot on the Death Star. The only question is what replaces it?

AlwaysBCoding··on “Swift will be open source later this year”
I think it's terrible. Parsing a JSON response into a Swift object takes a full-day to figure out when it's literally just JSON.parse(response) in any other language. You can't pass immutable structures (structs) into NSNotifications and I can't figure out why. It's confusing and poorly documented, and a complete chore to use.

React Native is a godsend.

AlwaysBCoding··on Mobile app startups are failing like it’s 1999
Swift is awful to use in practice.

It once took me 24 hours to parse a JSON response into a Swift object. In ruby you can get a ruby object from JSON by calling JSON.parse(data)... that's it. It takes one second. In Swift it's a nightmare, it can take you a full day. Who the hell has time for that? Startups are all about speed, who wants to waste a day trying to parse JSON when it's a one-liner in literally every other language ever made.

I also hate using mutable objects for my data model. Swift allegedly solves this with Structs but they're really hard to use in practice. Want to pass a struct through a Notification? Too bad, needs to inherit from NSObject so guess you're stuck using mutable objects?

Swift might be a well designed language from an academic standpoint. I have no idea, I'm new to programming. But I can say for sure that it's horrible to use compared to other languages that I've used in production (Ruby, Clojure, Javascript). I would bet anything that being able to use any language/workflow of your choosing and compiling to iOS native through JS will be a better business decision than coupling yourself to XCode/Swift and whatever hacks you build to make the workflow less painful.

← PreviousPage 4 of 6Next →