HNHacker News
TopNewBestAskShowJobs

awhitty

494 karma · joined March 28, 2013

awhitty.me
submissionscomments
awhitty··on Stanford’s war on social life
You might live in California and have certainly seen the drought, but the lake didn't go dry due to drought.

The lake was fed by diverting water from nearby San Francisquito Creek. The university chose to stop filling the lake for recreational use in 2001 to protect the endangered California tiger salamander as the article notes. The lake was still sometimes artificially filled to support salamander breeding, but it was not maintained to a level suitable for (most forms of) recreation (though I still saw members of KA attempt to take a raft out on 1-2ft of water during a rainy week -- I think their raft was more full of beer than the lake was of water, though my memory is hazy).

The university has since removed the dam used to divert water to Lake Lag as part of a process of habitat restoration upstream. I'm not sure how that will affect the population of salamanders that depended on that water in Lake Lag, but I believe they also breed upstream and will have more sustainable natural habitat. Also, water from Searsville Dam just upstream from this project is used to irrigate Stanford's golf course, and that is cited as a reason not to remove that dam (the other reason is that removing it would change habitats that formed from the lake it created).

The school has sometimes turned off its campus fountains during periods of drought. They shut the fountains down for 2 years while I was there. During that same time I didn't see them shut off water to the golf courses though, and that consumes substantially more water than the fountains. They did restore water in the fountains for the weeks leading up to our graduation, and I can recommend grabbing a pitcher of beer or two from the CoHo and walking it straight down to the fountain outside the bookstore for a soak, if the school still allows it.

To summarize, if we are to infer Stanford's priorities based on how it has approached the complex dynamics around Lake Lag and its (former) tributary, I believe that would look like: golf course > endangered salamander > students.

awhitty··on TC39 Proposal: Type Annotations
Right, I agree it’s much nicer to write JavaScript now than ever before. Merely pointing out that it’s not meant to be a compiled language. As a community we continue to expect a build step to exist when it really doesn’t have to for a broad class of projects. Transpilers were never the end-goal.

It’s true that there are some optimizations done in the build step that benefit end users, and folks will probably (correctly) continue to choose to minify, tree shake, bundle + bundle split, eliminate dead code, etc. for serious applications.

But to be able to write a modern web app without having to npm install a single module would be stellar! And it’s becoming more and more possible. How do you teach someone how to write a JS project in 2022? I imagine it starts with, “Well, first you’ll need to install node and npm - that’s gonna run JavaScript on your computer but don’t mind that much for now. Now we’ll install some dependencies required to build your code…” and so on. It takes a while and many conceptual hurdles to get to the part where someone can run the code they wrote in a browser.

awhitty··on TC39 Proposal: Type Annotations
Folks who write JavaScript today might not remember a time when it was normal to write JS and ship the same files verbatim to end users. We’ve seen a Cambrian explosion of new syntax, new tools, and new ways to build applications using JavaScript in the last decade. Many of those features are now built into modern browsers, but static typing is one of the last Big New Ideas that hasn’t made it into mainline JavaScript.

We’re conditioned to expect there will be a compilation step between our source code and the code that runs in a browser. That forces many decisions about how we structure our projects and the kinds of tools we can use to deliver the software we write. Minimizing or eliminating the reasons why folks might need that build-the-code step between the code they write and the code their users run opens up doors and new ways of writing and delivering software, and that’s exciting!

Think, for instance, what would it take to get something like the TypeScript type checker in Chrome’s devtools? A first step would be to adopt the type annotation syntax.

awhitty··on Tidbyt hardware display device: a review
Also bought a Matrix Portal and have had a lot of fun with it! Dabbled in writing a raytracer for it, but I don’t know enough about ARM nor C++ to optimize it for decent frame rates. Now the thing runs a newton’s cradle simulator using Box2D, and that’s been a fun desk toy.
awhitty··on TRPC: End-to-end typesafe APIs made easy
Thanks for the link! That looks really stellar actually. Excited to see how it shapes up.
awhitty··on TRPC: End-to-end typesafe APIs made easy
This project looks interesting! I have used a similar project called tsoa [1] and have appreciated that it generates an OpenAPI spec that can be consumed readily by many other clients, even outside the JS ecosystem. Does TRPC have plans for a similar feature set?

[1] https://tsoa-community.github.io/docs/

awhitty··on Things I don’t want to do to grow my side project
The page loads within 500ms for me without cache, fonts and all. It doesn't show animations, flashing content, mailing list modals, etc. Navigating between pages is near-instant. The site isn't collapsing under its own weight.

Compare the site to sf.funcheap.com which I unfortunately use to learn about things to do here in SF. Yes, it renders without JavaScript enabled, but the two pages take the same amount of time to load in my browser, and Funcheap still tries to load resources from two domains blocked by uBlock Origin even with JS disabled (15 with it enabled). Is that really any better? There are so many miserable experiences on the web, most made particularly maddening by poorly applying JavaScript in the hopes of driving conversions on some metric. This site ain't it though.

Sure, the first load could include the initial brush of content in its markup. In 2022, this is a trivial change to sprinkle onto a front-end.

awhitty··on λ-2D: An exploration of drawing as programming language
The author [1] was somewhat recently featured on Hacker News [2] for their Fishdraw [3] project, if you're wondering why their name might look familiar. Always a treat to see what they come up with next!

[1] https://lingdong.works/

[2] https://news.ycombinator.com/item?id=28157657

[3] https://fishdraw.glitch.me/

awhitty··on An intro to Pen Plotters (2019)
The author mentions, “Watch out for HPIB-only plotters!” — I forgot to take that advice when I bought a plotter from a scrap shop a few years back and thought I was completely out of luck. Spent a fair amount of time googling, and I ended up building an HPIB-to-serial bridge using an Arduino to get life out of the machine. Works just fine now! I’ve been meaning to write up how that works in case anyone’s in a similar disposition.
awhitty··on Django IRC Channels Migration to Libera.Chat
I rarely comment on HN, but I'm happy to come out of the woodwork to second this!

Django was my first exposure to Web development also around the 0.96 days. I couldn't have found my way into what has become a career without the friendly folks in the Django channels. What an incredible resource for newcomers.

I remember pasting full dumps of my models.py files into djangosnippets.org with vague descriptions of problems I was having, and folks I had never met before patiently sorted through possible solutions with me. Sometimes they'd nudge me away from an approach or suggest an alternative framing but they never judged me for what was probably pretty ridiculous code, considering I had no idea what I was doing.

Thanks to all the folks involved!

awhitty··on Maps Reveal the Difference in How Cities Are Perceived by Tourists and Locals
Completely unrelated to maps, but I really enjoyed your talk about the origins of the "else" keyword at !!Con West a few months back! Thanks for picking that topic. Really got me thinking.
awhitty··on Redesigning Heap Without a Feature Branch
That sounds like a reasonable approach! Thanks for the note.

To be honest, we use LESS fairly simply for the things it provides like variables, mixins, and nested selector syntax. We otherwise haven't had a need to make our stylesheets much more sophisticated. So when project planning came around, we didn't ideate much on LESS-based approaches, and I bet we could have and found an ergonomic approach there.

awhitty··on Redesigning Heap Without a Feature Branch
Hey! Author here. After talking to folks who have taken on similar projects at their jobs, I realized there wasn't much discussion around how to happily pull off a UI refresh or redesign, and I wanted to share the philosophy we used to make ours a success!

I'm happy to chat and compare notes about how folks have executed similar projects.

awhitty··on Shipping a Visual Refresh Continuously
Hey! Author here. After talking to folks who have taken on similar projects at their jobs, I realized there wasn't much discussion around how to happily pull off a UI refresh or redesign, and I wanted to share the philosophy we used to make ours a success. Happy to chat and compare notes about how folks have executed similar projects.
awhitty··on Nike and Boeing Are Paying Sci-Fi Writers to Predict Their Futures
Do you have an article in mind about the game designers hired for policy proposals? I’m curious to learn more about the practice.
awhitty··on Sphero RVR – The Go Anywhere, Do Anything Programmable Robot
Happy they designed the robot with a replaceable battery! I received an Ollie as a gift back in 2014, and the battery is flat-out dead. Wish I could still fiddle with it.

I’m a bit surprised Sphero is using Kickstarter for this campaign — they’re a large company now with access to plenty of cash, I assume. Pre-orders have usually been a part of their independent product launches (i.e. the products that aren’t Lightning McQueen), so I could see this as an extension of that strategy with a maker/hacker/DIY aesthetic. Crowds out Kickstarter and makes it harder for the smaller operations to get discovered though.

In general (and take this with a grain of salt because I don’t know robots, only familiar with Sphero’s history), I think Sphero accidentally positioned themselves super well for building out products like these. They started with a robot-in-a-ball. Literally a two-wheeled robot driving like a hamster in a ball. In order to support a user-friendly driving experience with the original Sphero, they invested in the accelerometer and gyroscopic sensors and the way they provide feedback to the drive system. So even when the wheels would slip inside the ball, the robot would detect the change in heading and adjust to suit the driver’s original intent. They mention briefly in the video how this RVR bot can hold its heading on bumpy terrain, and I assume that’s the same platform at work. It’s neat to me because this feedback mechanism sounds like the kind of thing that’s hard to patch onto a robotic platform produced at scale and get it right, to the extent that folks won’t bother. They kinda got that one “for free” by validating that folks will buy a ball, and it looks like it’s been a solid platform for other variations on driving robots. (But again, I don’t know much about robots. This could be standard practice for all I know.)

awhitty··on FaceTime bug lets you hear audio of person you are calling before they pick up
I think it’s inappropriate to make (or imply) a call to action in a public forum to violate the privacy of a public figure (or anyone, but a public figure in this case). There’s low probability that Tim’s personal accounts or devices are easily accessible by the public, and I assume he has a team dedicated to his personal security, but let’s not encourage folks to start scheming...
awhitty··on This clever AI hid data from its creators to cheat at its appointed task
This kinda reminds me of my favorite sci fi book I read in 2018: Permutation City by Greg Egan. The book explores simulated consciousness and the tensions that crop up when intelligences that think and feel and want to live are computed on shared computing resources in competition with other intensive tasks with financial heft like climate disaster forecasting.

One plot the book explores is of some lower class intelligences that work their way into the noise of the simulations of wealthier intelligences. Their experiences are computed simultaneously but imperceptibly to the hosts, and appear as but noise in the simulations of the floors, walls, fountains, clouds and other environmental props that the hosts observe and interact with. They live lives as meaningful and filled with human emotion as the others but they’re computed in the space between.

I know it’s a bit of a leap to go from an AI learning to slip satellite imagery in the noise of street maps to simulated consciousness freeloading in the noise of another, but I think the themes are consistent. One man’s trash is another man’s treasure. The book really opened my mind to the thought that there could be so much more thriving in the things we think are noise in our fleshy bodies, and I think that’s thrilling. Imagine what it would take to completely look past the street map produced by that AI and only possibly see a detailed satellite image! No other interpretation makes sense. It would all feel entirely normal as you’d know no other perspective.

awhitty··on Euclidea – Geometric construction game with straightedge and compass
The solution will rattle you! At least it did me. I happened to blindly stumble upon it while trying various approaches, but I’d love to know what sort of intuition it takes to find the solution short of brute-forcing/lucky-guessing it.
awhitty··on Treating performance as a product: The technical story of Asana’s rewrite
I would love a resource like that! We went through a very similar process on my team [0], and I was pleased to see this post validating some pain points we had seen.

> In hindsight, we chose the correct trade off.

This is key, and I think it's almost something you have to blindly follow when going into the transition. It's a lot easier to justify the decision to incrementally rewrite in retrospect than it is to get excited about it in the process. I think more examples would help shift that.

[0]: https://heap.engineering/migrating-react-mobx-while-shipping...

awhitty··on Migrating to React and MobX Without Stopping Feature Development
Hey! Author here. Happy to answer any questions or go into any details about our approach. I know this post was pretty broad, but we'll be publishing more deep dives with code examples soon.
awhitty··on Reddit links Assange attacks to "Center for American Progress"
This seems like a Reddit witch hunt leaking into HN.
awhitty··on How I built a keyboard by hand
I agree with your perspective here and also think this qualifies as "from scratch." Would it still be "from scratch" if they bought all the components they used in this write-up as one kit?
awhitty··on Employee #1: Apple
I'd also like to point out that the comparison between Apple and a cult has existed since at least 2004. [1]

[1] - https://en.wikipedia.org/wiki/The_Cult_of_Mac_(book)

awhitty··on Littergram: Cleaning Britain one picture at a time
See also: http://www.litterati.org
awhitty··on Faraday Future picks Nevada over California to build a $1B plant
The closest this article gets to a location is the quote mentioning the proximity to I-15. NYTimes reports it's a suburb of Las Vegas [0]

[0] http://www.nytimes.com/2015/12/11/automobiles/faraday-future...

awhitty··on Google launches offline maps
Doesn't look like it, but you can build and export your own prints at high resolution through Mapbox Studio Classic [1], and you can order nice prints for the U.S. from the USGS [2].

[1]: https://www.mapbox.com/mapbox-studio-classic/

[2]: http://store.usgs.gov/b2c_usgs/b2c/display/(xcm=r3standardpi...

awhitty··on CSSgram: CSS library for Instagram filters
Hm, this is an interesting case where stylesheet design principles and application logic aren't so loosely coupled.

The data attributes almost seem to be a way to invoke CSS styles as functions themselves.

awhitty··on Library of Words
Reminds me of this: http://www.directory.io/
awhitty··on Library of Words
Is it possible to know when in time its pixel values would form certain images?
← PreviousPage 2 of 4Next →