pscarey
Asana blogged this year about 50k organisations, 6 quarters accelerating growth [1].
Back in 2015 they blogged mentioning the heating up 'enterprise collaboration market'. There's countless office tools, diagramming tools, collaboration tools. Even in software there's more CI systems than I can count.
My guess is there's a big market which the VCs think is accessible to Asana in a way it's fundamentally not to a competitor. Combined with big growth it makes sense.
[1] https://blog.asana.com/2018/09/asana-company-updates-2018/
The proposed @types scaffolding seems interesting for solving issues with untyped libraries. Maybe the focus will be how do we actually get all the code typed rather than resorting to 'any'.
Side note, quite amusing: https://twitter.com/kitsonk/status/973651805950242816
The printer is potentially an easier attack vector, and you've got to pass the funds into an electronic wallet prior to spending, presumably on your PC or phone, whilst an internet connection is enabled.
Seems writing the wallet info down with a pen, then doing your best to ensure security when you have to use the wallet (e.g. live CD) is a better method?
BaseUp has created a parking management platform for CBD buildings, which combines a web portal, mobile apps and hardware to provide seamless management and access control. Our platform automates management tasks, generates cost recovery and provides employee benefits.
The right candidate will be interested in:
- Providing great user experiences.
- Ensuring the security of our platform.
- Effective applications of IoT to produce business value.
- New ideas for offerings to our customers.
We have recently closed a seed round, and are looking to hire 1-2 developers. A range of experience is welcome, and compensation will match. If you're interested in interning, we're also happy to have a chat.Technologies:
Mobile: Android (Java/Kotlin), iOS (Swift)
Backend: Node.js, Typescript, GraphQL
Frontend: React.js, Redux
Reach out to me: [email protected]I think more interesting would be smarter traffic control systems which communicate with cars in cities to advise traffic flows - a simple example being a (wirelessly) counting down light rather than red/amber/green.
Debate is a cornerstone of democracy - to take the climate change example, anyone should be able to question it, and the evidence for it should be what persuades the majority of people, leading to a decision. In these cases, debate is a very effective mechanism. Unfortunately, people don't tend to engage and debate properly.
A good, reasonably relevant read (5 min) is Isaac Asimov's A Cult Of Ignorance, which I think goes some way to explaining the lack of engagement with debating.
Many resources in this area, but as a starting point: https://www.ready.gov/home-fires
UK has contactless, but lower limit and from my recent visit, seems to not be as common.
C style for loops come pretty early in most programming tutorials, but I wonder how much non-C programming does actually use them nowadays (from the Community Responses, it seems not much Swift courtesy of other options). Usually, a C style for would be to loop over an array, and a safer way to do that probably could have stopped countless vulnerabilities & bugs occurring over the years.
It's not a replacement for SQL, but an entirely different product (and has no doubt come a long way since V1, especially with Firebase Functions out recently). You have to make tradeoffs, like data duplication, for the advantages. From the sound of it, the advantages probably aren't relevant to you, but I'm confident they exist for us.
- We only have to store a comparatively small amount of user data for the lifetime value of each user, so the actual database cost is marginal (i.e. data duplication is not expensive to us, as long as reads are fast). (Development) time is (very) expensive.
- Rapid development and iteration. I can make additions and make fields redundant with ease in response to customer feedback, my own development choices, and changing product needs. There's no API update needed, as reads are client side. I have data model classes which store the reference in the database, some constructors, and getters and setters (About the same as any other data model + API would have). The release goes live and data just starts being manipulated in a new way. Alterations can have simple defaults with || in JS and ?? in Swift (even if it's just an empty string).
- Minimal backend. Our application doesn't require much backend logic, and that which we do have is mostly event driven with Firebase Functions, upon certain database writes. Works out quite cheap too (for now - most usages don't trigger any functions).
- Caching, and offline first. We take the approach that it doesn't matter if there's a short delay in 95% of our data updating - either due to patchy mobile signal or the data taking time to sync down. Firebase has made on device caching and real time updates to that data a breeze. With GeoFire, we've got instant map search (keys are cached by Firebase and contain sufficient information to filter, etc).
- Declarative security rules are very powerful, and can even reference values in the database itself for security control - effectively. We store a permissions tree in the database for our more complex security logic.
As a bonus, additional features like Authentication, Analytics, Push Notifications, etc are all convenient to have bundled up.
As you can see, most of this isn't about the database tech, but the development speed for us. The perceived costs and inefficiencies may exist in the database itself, but there are massive advantages for the application development as a whole.
With Remote Config you deploy the code, then decide what to show to users post release. This gives Apple a chance to review all the code submitted to the App Store.
In the case of rolling out features an A/B tests, you'd make a release including a feature, but only enable it x% of your users using RC. You can then obviously enable it for everyone if it passes your A/B test or if you're happy its working.
Also, from Firebase Docs[1] "Don't attempt to circumvent the requirements of your app's target platform using Remote Config."