HNHacker News
TopNewBestAskShowJobs

davidfstr

592 karma · joined February 14, 2010

submissionscomments
davidfstr··on Google’s approach to replacing the cookie is drawing antitrust scrutiny
I actually like the idea of Privacy Sandbox. It appears to enable sites which depend on ad revenue to continue to exist while seeking to eliminate the usual problem with current adtech: third party tracking.

I wrote up a more nuanced version of this opinion here:

* Privacy Sandbox: Google's answer to privacy-conscious advertising -- https://dafoster.net/articles/2021/02/04/privacy-sandbox-goo...

davidfstr··on Python's Type Checking Renaissance
> 1. You can define a function type somewhat clumsily (`Callable[[Arg1T, Arg2T], ReturnT]`), but if your callback uses keyword arguments (pervasive among Python programs), you're out of luck.

I've personally never missed the ability to add keyword arguments to a Callable. If you want to anyway, I understand that at least mypy has syntax for this:

* https://mypy.readthedocs.io/en/stable/protocols.html#callbac...

* https://mypy.readthedocs.io/en/stable/additional_features.ht...

> Beyond that, it's just the general usability issues that ultimately derive from Python's election to shoehorn a lot of typing functionality into minimal syntax changes

Many syntax niceities will be introduced in upcoming Python releases. From the article:

* Union types are shortened to X | Y (PEP 604)

* (?) Optional types shortened to X? (PEP 645)

* Type Hinting Generics In Standard Collections (PEP 585) - Can use list[T], dict[K, V], etc in place of List[T] and Dict[K, V].

With those changes, you won't generally need to import the `typing` module at all anymore.

> there just isn't enough investment to move it forward.

Dropbox has dedicated engineers maintaining mypy. And of course a few volunteers such as myself. And Guido. :)

davidfstr··on Python's Type Checking Renaissance
> Library support for static types is not very good.

Granted. I do think it's improving over time. For example the django-stubs project is a really nice addition to the regular Django distribution: https://pypi.org/project/django-stubs/

davidfstr··on Python's Type Checking Renaissance
blink A plot to do what exactly? Python is amazing, both in its traditional typeless form and in its typed forms. :D

Type checking mainly starts pulling its weight in large codebases, or otherwise in long-lived and large programs maintained by rotating groups of people over long periods.

davidfstr··on Python's Type Checking Renaissance
> was there any attempt to add typing in older versions of python that were dropped ?

Not that I know of. I used "renaissance" to connote an increased positive focus, invigoration, and activity.

davidfstr··on I no longer trust The Great Suspender
<nope>The owner in the extension metadata on The Great Suspender hasn't been updated (to my understanding) so the Chrome Web Store doesn't even know that the owner has been changed.</nope>

Actually it does appear that the owner was changed from "deanoemcke" to "thegreatsuspender" (the new mystery owner) on the Chrome Web Store page.

I agree that warning when updating an extension if the stated owner has changed would be valuable.

davidfstr··on I no longer trust The Great Suspender
> It is really a shame that basic functionality like this isn't built into more browsers and we have to rely on extensions to fill the gaps just to keep memory usage under control for tab-a-holics like myself. :(

The way I see it, extension developers get to come up with innovative new features first, and then the first-party vendors like Apple, Google, and Microsoft take note and eventually do just that: Integrate it into their own products.

For example: The Great Suspender → Sleeping Tabs [experimental] (Microsoft/Edge); Flux → Night Shift (Apple/iOS); Growl → macOS Notifications (Apple/macOS); Swype → iOS Built-in Keyboard (Apple/iOS); etc

Edit: Fix formatting.

davidfstr··on Ask HN: Do you ever truly use your revision history?
Yes, responding to the title. In particular in my rich web application if I am in the process of merging & deploying the branch to the production environment, sometimes the automated tests fail and I use a bisect to narrow down the offending commit. Having good commit messages in general helps with debugging in this scenario.

I’m surprised you haven’t found excellent tools to migrate from SVN to Git, considering how popular these VCS systems are.

I once worked in a company whose source tree originally predated version control. There I found an entire module that appeared to be dead code and I wanted to determine how it became dead. I did a bisect and landed on an 8 year commit that was the very first commit in the version-controlled tree. Yikes. So I guess I’ll never know how that module became dead.

davidfstr··on Ask HN: I'm away from the software industry since 2017; what has happened since?
At my company we decided to go with Vue and not React about a year ago, mainly to avoid the complex tooling that React absolutely demands that you add to your JS build process.

And we still like Vue a year later. It integrates well with the rest of our site, much of which still has not been rewritten in the functional-reactive style yet. And not having to do a full-on transpile/build step during development is a huge win for reducing cycle times.

davidfstr··on Ask HN: Who is hiring? (August 2018)
TechSmart | Software Engineer - Platform | Full-Stack | Seattle | FULL-TIME | ONSITE

Does making a difference in K-12 education and teaching the next generation how to code sound exciting? My company TechSmart is now hiring full-stack engineers to build out our teaching-and-learning rich web application and in-browser IDE!

TechSmart is a Seattle-based education-technology company that empowers teachers to reach all students with coding & computer science. We believe every student deserves the opportunity to learn to code and make their mark on the world, regardless of their race, gender, socioeconomic background, or language. We partner with school districts to provide Teacher Coding Bootcamps, a K-12 Curriculum Pathway, and a cloud-based Teaching & Learning Platform.

We are bootstrapped and cash-flow positive, with a single recent round of funding to enable us to grow to handle an influx of new school district customers. We are presently a small engineering team (<5) hoping to add 3 more engineers in the short-term. You will help define our early culture.

As a platform engineer at TechSmart you'll build the rich web application that is our Teaching & Learning Platform, which delivers our world-class coding curriculum to tens of thousands of teachers and students around the country. You will own features end-to-end: frontend, backend, database schema, testing, and operations.

For more information see our two job descriptions and website below:

* Platform Software Engineer - http://bit.ly/techsmart-engineer-2018-07

* Sr. Platform Software Engineer - http://bit.ly/techsmart-senior-engineer-2018-07

* TechSmart website - http://techsmart.codes/

If you have additional questions feel free to email me at david.foster@techsmart.codes . I'm the CTO, one of your fellow engineers, and would be working closely with you. ^_^

Apply by emailing your resume to careers@techsmart.codes . Please include a paragraph or two in the email highlighting why you'd like to join us and how you think you would be a good fit, as this will help you receive the best consideration.

davidfstr··on Ask HN: Who is hiring? (July 2018)
TechSmart | Software Engineer - Platform | Full-Stack | Seattle | FULL-TIME | ONSITE

Does making a difference in K-12 education and teaching the next generation how to code sound exciting? My company TechSmart is now hiring full-stack engineers to build out our teaching-and-learning rich web application and in-browser IDE!

TechSmart is a Seattle-based education-technology company that empowers teachers to reach all students with coding & computer science. We believe every student deserves the opportunity to learn to code and make their mark on the world, regardless of their race, gender, socioeconomic background, or language. We partner with school districts to provide Teacher Coding Bootcamps, a K-12 Curriculum Pathway, and a cloud-based Teaching & Learning Platform.

We are bootstrapped and cash-flow positive, with a single recent round of funding to enable us to grow to handle an influx of new school district customers. We are presently a small engineering team (<5) hoping to add 3 more engineers in the short-term. You will help define our early culture.

As a platform engineer at TechSmart you'll build the rich web application that is our Teaching & Learning Platform, which delivers our world-class coding curriculum to tens of thousands of teachers and students around the country. You will own features end-to-end: frontend, backend, database schema, testing, and operations.

For more information see our two job descriptions and website below:

* Platform Software Engineer - https://bit.ly/techsmart-engineer-2018

* Sr. Platform Software Engineer - https://bit.ly/techsmart-senior-engineer-2018

* TechSmart website - http://techsmart.codes/

If you have additional questions feel free to email me at david.foster@techsmart.codes . I'm the CTO, one of your fellow engineers, and would be working closely with you. ^_^

Apply by emailing your resume to careers@techsmart.codes . Please include a paragraph or two in the email highlighting why you'd like to join us and how you think you would be a good fit, as this will help you receive the best consideration.

davidfstr··on Ask HN: Who is hiring? (June 2018)
TechSmart | (Sr.) Platform Software Engineer | Full-Stack | Seattle | FULL-TIME | ONSITE

Does making a difference in K-12 education and teaching the next generation how to code sound exciting? My company TechSmart is now hiring full-stack engineers to build out our teaching-and-learning rich web application and in-browser IDE!

TechSmart is a Seattle-based education-technology company that empowers teachers to reach all students with coding & computer science. We believe every student deserves the opportunity to learn to code and make their mark on the world, regardless of their race, gender, socioeconomic background, or language. We partner with school districts to provide Teacher Coding Bootcamps, a K-12 Curriculum Pathway, and a cloud-based Teaching & Learning Platform.

We are bootstrapped and cash-flow positive, with a single recent round of funding to enable us to grow to handle an influx of new school district customers. We are presently a small engineering team (<5) hoping to add 3 more engineers in the short-term. You will help define our early culture.

As a platform engineer at TechSmart you'll build the rich web application that is our Teaching & Learning Platform, which delivers our world-class coding curriculum to tens of thousands of teachers and students around the country. You will own features end-to-end: frontend, backend, database schema, testing, and operations.

For more information see our two job descriptions and website below:

* Platform Software Engineer - https://bit.ly/techsmart-engineer-2018

* Sr. Platform Software Engineer - https://bit.ly/techsmart-senior-engineer-2018

* TechSmart website - http://techsmart.codes/

If you have additional questions feel free to email me at david.foster@techsmart.codes . I'm the CTO, one of your fellow engineers, and would be working closely with you. ^_^

Apply by emailing your resume to careers@techsmart.codes . Please include a paragraph or two in the email highlighting why you'd like to join us and how you think you would be a good fit, as this will help you receive the best consideration.

davidfstr··on Black: An uncompromising Python code formatter
Love the idea of eliminating formatting debates when writing Python.

At the risk of being redundant, I also raise an eyebrow at the choice to prefer double quotes for strings. My company standardized on single quotes, mainly to be consistent with repr and also encourage the use of double quotes in messages displayed to the user.

Everything else seems in order. I might increase the line width to 90 just to use an easier value to remember when configuring editors and other tools ;)

davidfstr··on Python Environment
I love this comic.

I was just going through an old server of mine. Python 2 and Python 3 dependencies, installed over years, in a bit of a mess.

We may have virtualenv and the like today, but a lot of old stuff was never setup to use it. :p

davidfstr··on Kojo - Scala for Kids
Scala as a first programming language? Whoo. Scala is the richest language I've interacted with so far.

But then again you can't underestimate motivated kids with infinite free time. I certainly remember that my own abilities were vastly underestimated when I was a youngling.

davidfstr··on Achievement Porn
Marketers and game designers are just catching onto the notion of achievements (fake or otherwise), and are planning on harnessing it.

Take a look at this DICE presentation that follows these lines: http://fury.com/2010/02/jesse-shells-mindblowing-talk-on-the...

← PreviousPage 2 of 2