Hacker Newsnew | past | comments | ask | show | jobs | submit | nickpresta's commentslogin

The linked, more detailed post in the article is far more interesting: https://miguendes.me/what-if-python-had-this-ruby-feature


Did OP basically summarise another blog post and publish it on their own blog, even though the original is linked? Not a good look, also because it's "narrated" in the first person, as if they were the one to implement this change.


...it's not, although I have to say, I really appreciated the succinctness of OP's article versus the original.


Here is the full email:

==EMAIL STARTS HERE==

Hello,

You may have seen an incident reported recently regarding a security breach at Tricentis Flood. We want to provide preliminary information about what has happened, what information was involved, and what steps we are currently undertaking to help protect you.

What Happened? --- On 21 June 2020, automated systems detected a security breach of services provided by Tricentis Flood. We took immediate action to contain the breach and have since been carrying out further investigation, remediation and notification measures. The incident is reported on our Flood incident status page: https://status.flood.io/incidents/gsw7vx8cqxk5

This incident is also closely related to last week's strategic Cyber attacks on Australian authorities and businesses: https://www.abc.net.au/news/2020-06-19/foreign-cyber-hack-ta...

We believe the purpose of the attack was to steal customer data and, credentials that allow Flood to orchestrate load testing infrastructure for customers through third-party cloud providers. These credentials are used by a subset of Flood customers who utilize our 'hosted' grid infrastructure.

What Information Was Stolen? --- Potentially a cryptographic hash of your password has been obtained. While we use an irreversible hashing algorithm based on Bcrypt, we have already scrambled your password as a precaution. This means if you use username and password authentication to access Flood, you will need to reset your password.

Additionally the API token that you use to programmatically access Flood may have been revealed. We have already rotated all user's API tokens to prevent unauthorized use.

The following specific user information may have been obtained from your account: - This email address - Your first name - Your last name - Your nickname - Your company size - Your employee role

Potentially the following specific account information has also been obtained: - Your account name - Your suburb - Your state - Your country - Your postal or zip code

Next Steps --- We cannot determine if any customer test data you have provided to us, in the form of test plans and supporting test data has been obtained from your account. However, we are working on the assumption this has occurred. We will be introducing changes to the way we manage customer test data through the provision of configurable storage soon. This means we will be taking an alternative approach to persisting and encrypting customer test data. We do not plan to migrate any customer test data provided to us before this impending change.

We will release another notice to account owners via email and our status page when this change is made. We will also provide a way for you to obtain your test data, including the option to destroy it permanently.

We will be providing a detailed post-mortem of this incident at our blog, once we have completed these steps.

For More Information --- For status updates regarding this incident, please subscribe to updates on https://status.flood.io

If you have any questions, please feel free to contact our team at support@flood.io

Thank you for your patience and support throughout this challenging issue.

==EMAIL ENDS HERE==


A more up-to-date, although not complete, comparison is available here: https://caniuse.com/#compare=firefox+74,chrome+80,safari+13


Hey Vjeux. What does black mean for the prettier python plugin[1]? I had high hopes to move over all projects to prettier (for JS/Python). Is there going to be any merging between prettier python and black? Do you recommend one over the other?

Thanks

[1] https://github.com/prettier/plugin-python


I don't know :)

I worked on prettier myself because I wanted to solve formatting for the language I was involved in. It turned out that the prettier infrastructure was actually really good for other languages so we used it for CSS, Markdown, GraphQL... and added support for a plugin system for other people to build printers for their own language. patrick91 (not working at Facebook) is working on a python formatter using the prettier infrastructure.

Independently, ambv (working at Facebook) started black which is written in Python. He's part of the Python core team and the Python infrastructure team at Facebook so it made sense for him to drive adoption of black within Facebook.

One interesting thing I realized is that communities are built around programming languages and it's really hard to influence another community from the outside. So my bet would be that black has the most chance of succeeding within the Python community.


> One interesting thing I realized is that communities are built around programming languages and it's really hard to influence another community from the outside.

IMO, that point is worthy of a detailed blog post or conference talk, if you would be so inclined. Would love to hear more.


That's true, I'll consider it, in the meantime here are some thoughts.

When I started working on React Native, I thought that the most difficult thing would be to design a good set of APIs to make it easy to write mobile apps using React that felt good. This turned out to be the "easy part", we started the project wanting to solve this and having lots of good ideas on how to do it.

What turned out to be a lot harder was the fact that we were trying to use JavaScript from within iOS and Android ecosystems.

1) Those at the time were in different repos, how do you synchronize code between them?

2) The three ecosystems use a different set of tools for everything: IDE (xcode, intellij, sublime/atom/code/emacs), package manager (cocoapods, maven, npm), linters (eslint), build (how do you hook up with the play button in xcode?), profilers (can you display stack traces with the two languages calling each other?)...

3) Mixing and matching languages inside of a single project is hard because there are a lot of subtle different semantics (eg: javascript doesn't have int32 or int64). If you have type systems, they are incompatible (flow vs obj-c). So in practice you end up with a lot of boilerplate to talk between the two languages and it's a performance overhead.

There's also a social aspect where you invested so much learning an ecosystem that it becomes part of your identity. So you see someone wanting to bring another language as trying to attack you directly.

My mission since then has been trying to "break down the silos" and trying to build tools that can work with all those languages. It's not been easy :)


Here are the traffic stats for Canada[0]. In 2015 there were 116,000 "personal injury collisions". That is ~300 injuries a day across Canada.

The Greater Toronto Area has approx. 20% of Canada's population (~35M). If we assume that 300 injuries are evenly distributed across Canada, which seems unlikely due to how bad the driving conditions are on the 401 and DVP, there are ~60 injuries per day in the GTA of various severities.

I don't think someone encountering ~3 per commute during rush hour is unreasonable.

[0]: https://www.tc.gc.ca/eng/motorvehiclesafety/tp-tp3322-2015-1...


What languages are supported? At least on mobile, there is zero mention of language support outside of testimonials and screenshots. Is it just Java and C++?


The intro video mentions Java, C, and C++.


Right, it's "just" Java, C and C++ for now but we are planning to extend our available languages as soon as possible!


Any rough idea when you might have C# support?


would that happen to include scala?


Unfortunately it doesn't. Even though Scala and Java output the same kind of bytecode, these languages have different language specifications. We currently only support what's in the JLS.


Wave is on a roll and looking for a new team members including Senior and Intermediate Software Engineers, a Senior DevOps Engineer, and a contract Front End Developer. To apply for a specific position, visit waveapps.com/careers. Wave is located in Toronto, Ontario.

The Day-To-Day:

* You’ll face exciting challenges day in day out. From rapidly scaling our systems to redesigning large parts of the application, we never run out of interesting problems to solve.

* You’ll write concise, well-tested code in Python, Ruby, and/or JavaScript.

* You’ll work as part of a small, agile, integrated product team, focused on continual improvement and development

The Bare Necessities:

* 3-7 years with mastery of some combination of computer languages

* The ability to operate highly available systems in production, or willing to quickly

* Experience with web application and / or distributed systems development.

* You take pride in writing well-documented code

* You are borderline obsessive about testing and quality of workmanship.

* You feel right at home in the terminal.

* You are legally eligible to work in Canada

What Makes Working Here Awesome:

* A collaborative, dynamic team with an entrepreneurial culture

* An awesome office space in Leslieville

* Competitive compensation including benefits and development allowances

RECRUITERS PLEASE NOTE: We are not accepting applications via recruiters at this time.


Hi Nick,

I applied to one of the positions linked from the Wave site. I apologize if you got a lot of emails, I was getting an error when submitting but I also got a confirmation email saying my application was received.

-Evert


Hi Evert - Director of Engineering @ Wave here - I didn't see your application in our system. Would you mind submitting again?


Hi Ash,

Thank you for the follow-up. I tried again this morning but received the same error when submitting.

A few more details about what I am seeing. The errors states that 'Whoops! Desired Salary is required' however I have filled out all of the fields including the desired salary level. My first thought was that this was a parsing issue since I had included a dollar sign and a comma in my answer. Removing those didn't seem to make a difference though.

Thanks for the help, Evert


Wave Apps | https://waveapps.com | Toronto | Fulltime

Wave has a variety of job opening available, including (Web) Software Developer, Mobile Engineer, Ops Engineer, Product Designer, etc. To see all job posting, visit https://wave.bamboohr.co.uk/jobs/

---------

Wave is a Toronto startup backed by amazing Silicon Valley investors. With over 2.5 million users and an ecosystem of apps, there are tremendous opportunities for impactful work.

At Wave you will:

* Develop for both Android and iOS mobile devices

* Develop the standards, tools that will shape how Wave builds mobile products

* Create ReactNative hybrid mobile applications

* Build something that will make lives of real business owners easier

What we are looking for in you:

* Experience with mobile application development, provisioning, and deployment

* You have managed releases to the App Store and Google Play store

* Curiosity and excitement about technology as a force for good

* Pride in writing testable, modular, maintainable, simple, and well-documented code

* You take a customer-first approach to product development

What makes working here awesome:

* Solving hard problems

* Entrepreneurial culture

* Culture of transparency; learn first-hand how to do a startup

* Competitive compensation, including stock options

* Health coverage


https://www.waveapps.com, Toronto , Fulltime

Wave is a top Toronto startup backed by amazing Silicon Valley investors. We build an ecosystem of back-office applications (like invoicing+payments, accounting, payroll, etc) for startups and small businesses.

At Wave you will:

* Build scalable, fault-tolerant, tested, API-centric backend services in Ruby or Python

* Use proven modern technologies to power financial grade distributed systems

* Participate in architecture conversations, code reviews, and pair programming

* Build rich user-centric experiences for businesses using modern front-end technologies (ReactJS, ES2015+)

What we offer:

* Top tier compensation

* Mentorship and career development

* Unlimited snacks and beverages

* Training and conference subsidy

* Flexible working hours

Apply here: https://www.waveapps.com/about-us/jobs/ and mention Hacker News in the subject!


I'm very excited about:

    React.Children.map now returns plain arrays too
Before this change, we would have to do the following when checking the types of children components (in propType validation):

    const childrenTypes = [];
    React.Children.forEach(props.children, child => {
      childrenTypes.push(child.type);
    });
    for (const type of childrenTypes) {
      if (type !== MyComponent) {
        return new Error(`Child '${type}' is not an instance MyComponent. Check render method of 'ParentComponent'.`);
      }
    }
It sort of made sense that map() on an opaque data structure would return the same type of data structure but in practice this was rarely useful.

Thanks, React team!


This also helps with Typescript that required

  var products:Array<Product> = []
    for (var x in this.props.products) {
      products.push(this.props.products[x])
    }


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: