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

That's awesome!

I'm not surprised about the angle-of-attack needing correction. The angle-of-attack is defined as the angle between the average chord (an imaginary line running from the leading edge of the wing to the trailing edge of the wing) and the relative wind. Since changing the flap position changes the position of the trailing edge, the angle-of-attack will also change.


Honest question: if wing's cross section has a big curve in front, how do determine which point exactly constitutes the "leading edge"?


Usually you draw a line from the trailing edge (which is sharp so unambiguous) to the point on the leading edge that makes the line the longest.

The definition that makes the most sense, though, is to disregard the geometry of the wing and define zero angle of attack as the zero-lift angle, because then lift is proportional to AoA.


> IMO a teacher being paid $90k a year for 7 hours a day of work, > 10 months a year, should be working hard to improve.

I don't disagree that she should work to improve, but you are using $90K as if it were a lot of money. According to census data [1], the median household income in San Ramon is $173,519/year and the median rent is $2,557/month.

In San Ramon, you can get paid $65,000/year as an assistant manager at Starbucks without getting a 4 year degree plus teaching credentials.

Plus, how is she earning so much? The San Ramon teacher salary schedule is public: [2]

[1] https://www.census.gov/quickfacts/fact/table/sanramoncitycal...

[2] https://www.srvusd.net/documents/Employment/Employment-Resou...


Did you just show me a chart where over 1/3 of the numbers are around or above $90k, and then ask me how she could be earning that number?


Yes, but that 1/3rd is all high school teachers with multiple certifications or teachers who have 20+ years of teaching experience.

Based on what you've said about your soon-to-be-ex girlfriend, she isn't either of those things.


In my social circle there is a perception that the BART is increasingly unsafe and some people who previously used the BART to commute from East Bay to SF are now driving.

Their perception seems to be born out by the data:

From the Bay Area Rapid Transit Police Department [1]

Aggravated Assault (2019): 112

Aggravated Assault (2022): 114

Relative increase (2019 -> 2022) adjusted for ridership:

114/112/0.3 = 3.39x

[1] https://www.bart.gov/sites/default/files/docs/2023-01%20Mont...


This follows a general trend of roads becoming unsafer since COVID.

Traffic Fatalities in CA:

2019 -> 2020: +3.4%

2020 -> 2021: +7.6%

Unclear about 2021 -> 2022, I'd have to run the SWITRS data myself. Keep in mind these are just fatalities. I'm guessing crash data will show an even larger effect.

Source: https://www.ots.ca.gov/ots-and-traffic-safety/score-card/ and other OTS resources.


Is it possible that the amount of assault is relatively unrelated to total ridership? Like the number of criminal assholes in the community is about the same regardless of how many people use mass transit?


The point is that with a constant amount of assaults, and fewer potential victims, you are more likely to be a victim.


Only if you assume random victims of assault. That’s a pretty big assumption


Right, people with small statures who look like pushovers will face a disproportionate amount of the abuse. Big mean looking guys like me usually don't have much to fear, but why should anybody have to put up with it just because they're small and meek?


I rode BART for 16 years. It's not a big assumption.


How is this not probabilistic victim blaming?


I don't think it's victim blaming, it's a valid point.

Are you more likely to be shot on the streets of Chicago compared to Boise? Probably, yes, however you're MUCH more likely to get shot on the streets of Chicago if you're involved in gang related activities.

There are probably similar qualifiers for assault on the BART.


> There are probably similar qualifiers for assault on the BART.

No, not really. Unless you have data to back that up. Source: I was assaulted outside a BART station randomly.

One more data point:

> Rojas added, "It looks like it was an unprovoked, unwarranted, vicious attack."

https://abc7news.com/bart-stabbing-arrest-john-cowell-lee-oa...

One more

https://www.bart.gov/news/articles/2018/news20180408


Nobody is saying that there are no random assaults, they are saying that without data on what percentage of the attacks were completely random, we can't make assumptions that an increase in total number of assaults equates to an increase in total number of random assaults.


> Are you more likely to be shot on the streets of Chicago compared to Boise? Probably, yes, however you're MUCH more likely to get shot on the streets of Chicago if you're involved in gang related activities.

You made the argument that attacks are targeted using an analogy without having data.


I am not arguing that the increase of assaults on the BART are targeted. I am arguing that that without data to prove it, we are making an assumption by saying that an increase in the number of assaults on the BART means that you are more likely to be a victim of assault as a random commuter on the BART. I used an analogy of Chicago shootings because these numbers are well understood, I suspect the BART numbers are not as well understood (most of what either of us can find are anecdotes).

The logical fallacy here is the fallacy of composition. We've only been given the statistics as they relate to ALL riders of the BART (of which "random commuters" only comprise some portion of ALL riders of the BART). We can't draw conclusions about the likelihood of assault against commuters based on this data alone.


I suspect so. I think in large part (but not all) the perception that San Francisco has gotten more unsafe since the pandemic is because our horrific social problems are now even more visible with fewer crowds around.


I suspect this is exactly the phenomena in action. You've got a relatively constant-sized population of deranged individuals who ride the trains a lot. When there's a lot of people on the train, they disappear into t.


I guess criminals and insane people don't wfh.


I think that the comment that you relied to meant that it is easier for scientists to collaborate using a single language rather than many. For some domains, Python has emerged as that single language. That doesn't mean that Python is the best language.


Exactly this. To some extent the language doesn't matter - although I think Python has become especially popular thanks to being one of the easiest languages to learn and use in practice. Then you get lots of network effects - e.g. grad students learn python, and when they become supervisors they teach their students python.


You'd be hard pressed to find someone who only knows python, though. Where there is python data science there is usually also R, like smoke and fire. The syntaxes are similar enough, imo R a little simpler even.


This is mediocracy and a bad strategy


Google App Engine originally used a custom containment strategy.

Back in the day, I was on the team that added Python 2.7 support to App Engine and we were experimenting with a different containment approach.

But Python is a complex language to support - you need to support WSGI, to support dynamic loading (for C extensions), a reasonably performant file system (Python calls `stat` about a billion times before actually importing a file), etc.

So our original runtime was actually Brainf#ck. So, at once point, if you had guessed that Google supported it, you could have written your (simple) webapp in Brainf#ck and Google would have scaled it up to hundreds of machines if needed ;-)


Aw darn! Around that time, I was at Google, and there was a thread on eng-misc (or possibly eng-misc-mtv; it's been lost to the sands of time) with people contributing programs that would flip a virtual coin 50 times and output the sequence of heads and tails. I contributed one in BF because I had some spare time waiting for a deploy job, and I've been joking since that I've "written BF code professionally".

And now you tell me that that could have been for real. :-(


What?


I was also really confused by this comment until I re-read it later.

At first I thought OP meant “we wrote out container runtime in Brainfuck,” but what I think they meant was “we first deployed Brainfuck support in order to test our new runtime on something simpler than Python.”


Why though?


Work for Google - have never worked on Tensorflow

I tried:

  inputs = {
      'matrix': [[10, 20, 30],
                 [5, 5, 10],
                 [2, 2, 1]]
  }
  output = [[85/10, 85/20, 85/30],
            [85/5, 85/5, 85/10],
            [85/2, 85/2, 85/1]]
And got:

  tf.cast(tf.divide(tf.reduce_sum(matrix), matrix), 
          tf.float32)
But now I realize that is pretty close to one of the examples. Did anyone try something complex?


I tried giving it a problem that required matrix power and it couldn't solve it. (this was a somewhat real task where I couldn't google how to raise a matrix to a power in tf).

    # A dict mapping input variable names to input tensors.
    inputs = {
        'matrix': [[1, 1], [1, 0]],
        'vector': [[1], [0]],
    }

    # The corresponding output tensor.
    output = [[13],
              [8]]

    # A list of relevant scalar constants, if any.
    constants = [6]

    # An English description of the tensor manipulation.
    description = 'Whatever the equivalent of numpy.linalg.matrix_power is in tf. Calculates fibonacci.'
I was hoping it would at least return

    matrix @ matrix @ matrix @ matrix @ matrix @ matrix @ vector
But it just didn't find anything. (the constant for the exponent is large because smaller numbers give nonsense results)


Yes, I tried a problem I recently posted to Stackoverflow.

It couldn't solve it - it was a broadcasting problem though.


>I could be a cog in a giant corporate machine, or I can have a measurable impact where I work.

I think that point can support working for either a big company or a small company depending on what type of impact you are looking for.

I've worked for startups in the past and have had a huge impact on the startup but almost no impact on the outside world because the startups just weren't tackling very visible problems.

Now I work for Google and I have basically zero impact on Google i.e. basically nothing that I can do will ever move the dial in terms of Google's revenue, etc. But I've worked on several projects that have had a big impact outside of Google. For example, I was on a small team (3 people) that developed the Python 2.7 runtime for App Engine (this was a while ago) and I was on another small team that implemented the server-side infrastructure for the Google Home. I also developed the screensaver for Chromecast - which is a tiny tiny project - but still millions of people love it.


I agree with this mentality. I was at a FAANG company as well, and some of the projects I worked on had a small impact on the company but a huge impact on a certain group. 4% of a billion users is the total population of Canada.

Now that I'm at a startup, I'm making a huge impact on the startup, but it's having very little impact on the outside world and the industry. I guess the hope is that one day the startup will have impact on the world, but very few ever do.


It's an interesting choice.

Which do you prefer?

I'd prefer having an impact on the company versus an impact on a large number of users, because I would experience the impact on the company every day, but at the big company, the feeling of satisfaction from running into random people who have used what I made would still be somewhat infrequent.


> ..but at the big company, the feeling of satisfaction from running into random people who have used what I made would still be somewhat infrequent.

Online forums, discussion groups etc. can makes them very frequent, global, profound and in many cases very visible to your friends & families - who otherwise would not know what you are working at the small startup.


> I think that point can support working for either a big company or a small company depending on what type of impact you are looking for.

For a lot of people, "I want to have an impact where I work" is more about their own ego and sense of importance than about impact on other people's lives. This is not a value judgment, by the way - wanting to feel like more than just another faceless disposable drone is a valid desire.


It's a more salient feeling. I worked at a school for a while, and you can have deep impact on a handful of lives. It doesn't scale, but you can really feel the effect.

On the other hand, if I submit a patch to Chrome that makes it 0.00001% faster, it's a much bigger impact -- millions of hours saved -- but it's an impact you can only see in aggregate statistics. No individual will even notice the effect, so it's much harder to see or feel. It's more abstract. You have to be pretty analytical to get the same level of satisfaction, even if you've done more to benefit people overall.


I'd argue that people conflate "having an impact" with "creating a product" rather than "having an impact" with having visible prestige. I used to think the former, but not after having experience interacting with people who want to be middle managers of middle managers. Those people want power and mostly don't care about impacting anything outside revenue increases that can be easily tied back to their name.


I would suggest that you've had experiences with bad middle managers. I say this all the time, but I only began to appreciate middle management when I became a front-line manager. An effective middle manager makes a whole boat full of people feel secure and strategically focused. They figure out how to leverage the strengths of their front-line managers and senior-level ICs, and how to fill in gaps. They know how to manage upward towards the executive layer, to acquire resources and summarize a great deal of complexity.


Apologies, but I don't quite see what this has to do with the point I was making.


Avoiding the alienation of labor, as Marx might put it.


The chromecast screensaver is the background on the TV in my Airbnb. Multiple guests have told me how much that screensaver makes them feel at home when they travel, and makes the world a little less strange.


Fun fact: those screensaver photos are taken by Google employees!

Can't find a source for that, but have many times corroborated that through a Google search. Peter Norvig is one of them.


I'm unsure which screensaver photos we're talking about--but if it's the nature photography (and others that you can choose from) which play when nothing is casting to Chromecast, then I have at least one instance where I have seen photos by a person I know is a photographer and not a Google employee (Trey Ratcliff).


Screensaver in chromecast is awesome!!!


I love the screensaver for Chromecast, thanks for that.


Bias alert: I work for Google.

I enjoyed the write-up but I have a small correction to make about "Frustrating moment #2. You can pass every interview with A grades and still not get a job, because a senior Googler decides that you're the wrong person to be hired."

The author is referring to hiring committees, whose job it is to take the feedback from every interview and make a hire/no-hire decision based on the blended results. I've done hundreds of interviews at Google and I've never seen universally positive interview feedback result in a no-hire decision.

The problem is that most feedback is not universally positive (or negative). So the hiring committee has to dissect the feedback and try to figure out if the identified negatives are (1) credible and (2) sufficient to be disqualifying. That can be pretty difficult (especially if the feedback is contradictory) and why a committee does it rather than the recruiter or hiring manager.


I greatly enjoy the absurdity of this: Xoogler rejected own packet (while at msft, presumably)

https://news.ycombinator.com/item?id=22345234


he and his entire hiring committee reviewed all of their packets from when they, each individual member of thebhiring committee, were interviewing at Google.... the recruiter was just making a point that they were being too picky


The hiring committee is not the last step, you need to get accepted by the SVP of your org and the site lead as well, both of them are single persons who can torpedo your application alone.


Yep, I made it through the hiring committee and got denied at the SVP level. Was fun getting a literal congrats from the recruiter, then meeting my future team that gave me the thumbs up, then getting a call that it wasn’t going to happen... rough rollercoaster


I created word cloud as a Valentine's Day gift this year:

- https://raw.githubusercontent.com/brianquinlan/word-cloud-va...

- https://github.com/brianquinlan/word-cloud-valentine/blob/ma...

My implementation (https://github.com/brianquinlan/word-cloud-valentine) is a lot less sophisticated than stylecloud but I think that I had a few interesting ideas about text extraction.

I used nltk to extract only nouns and to do word stemming (e.g. so that "time", "times" and "timing" are only counted as one word).

I also experimented a lot with various method of determining word size i.e. size proportional to frequency, size proportional to log(frequency), size proportional to sqrt(frequency).


It's funny, I did exactly the same, with my Hangouts Takeout extract, a couple of weeks ago, but didn't go as far, because I kept struggling with stopwords and some ways to filter out uninteresting stuff (my implementation was much more naive than yours). I'm still thinking about what other types of analysis I could perform on that interesting dataset though (because it's so personal after all).


I created an equivalent project for people who wanted to create the same style of badges from Python (or from the command line): https://github.com/google/pybadges

Python example:

  from pybadges import badge
  s = badge(left_text='coverage',
            right_text='23%', 
           right_color='red')
  # s is a string that contains the badge data as an svg image.
  print(s[:40]) # => <svg height="20" width="191.0" xmlns="ht

Command line example:

  python -m pybadges \
    --left-text="coverage" \
    --right-text="23%" \
    --right-color="red"
But there are lots more formatting options documented on the project page.


Hey, Shields creator here. One of the most important features of Shields since the very beginning was to offer a conventional usable and user-centered style to fight the vendor badge arms race between all the developer SaaS companies that were sprouting up around 2012/2013. See: https://olivierlacan.com/posts/an-open-source-rage-diamond/

Please consider contributing to Shields if you want to improve Python ecosystem support. We already support PyPI, Pipenv/GitHub, and a host of others. I'll gladly admit the interface for discovering badge types could use some improvement but the Shields community and maintainers have been working on that for a while.

We spent a lot of time designing, refining, adding support for hundreds of services and package managers, and offering a ridiculously simple to use API for everyone's metadata badge needs. So check out img.shields.io and see for yourself how you can already (lightly) customize badge styles to suit your taste.

https://img.shields.io/badge/contribute-please-red?style=fla...

Thanks :-)


I went more minimalistic and added SVG badge support in the form of a Django template and a couple small python functions.

The template: https://raw.githubusercontent.com/healthchecks/healthchecks/...

And the function for rendering the template: https://github.com/healthchecks/healthchecks/blob/master/hc/...

One funky thing there is the measurement of text width. The width of the badge depends of the width of the text you put into it. I simply measured the width of each individual alphabet letter, and use that to calculate the width of a string. It's not super accurate, but works fine in practice. It was a fun weekend project.


Nice! My approach is very similar except that I have width mappings for non-ASCII characters. Also, since DejaVu Sans (the font that shield.io, pybadges and healthchecks use) is heavily kerned, I have a table of kerning widths.

You can also opt to use precise text width measurements (important for Arabic, Chinese, etc.) but then you have to have the font file available on your system.


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

Search: