Code Monger, cyclist, sim racer and driving enthusiast.
5770 stories
·
5 followers

Passing

1 Comment and 4 Shares

I’ve said elsewhere that I don’t think that the GPT, OpenAI arbitrary-text-generation stuff is all that interesting. A machine repeating permutations of things we’ve already said back to us is a weird thing to be impressed by or frightened of, unless you secretly know that your job is confidently repeating plausible-sounding nonsense with no regard for whether there’s any truth to it.

But in practical terms, their real impact will be that how we conceive of knowledge at all gets rapidly bifurcated into “small towns that can still pump clean water from the wells” and “London during the Great Stink, though, so as the attendants say, be sure to put your own mask on first. Anyone remember when Google’s mission was “organize the world’s information and make it universally accessible and useful”, and not “build tools that automatically generate an endless stream of believably averacitous text?” Yeah, me neither.

I guess it’s no surprise that a few consecutive generations of people being really, methodically deliberate about misinterpreting the Imitation Game to avoid staring directly at Turing’s persecution, debasing his life and work so profoundly that they’d claim that a believable deception is some indicator of nascent intelligence would bring us here.

The Imitation Game was a cry for help from a man being destroyed by the society he spent his life saving. Is it any wonder that a brilliant, closeted gay man, who might be incarcerated or even executed for the crime of being themselves, would have existential questions about what it means to need to deceive people – your friends, your colleagues, your family and maybe even yourself, every single day – simply in order to be treated like a human being?

Using the tools Turing gave us to build stochastic parrots that cannot hew to any concept of right or wrong, whose only utility is a weapon aimed at the foundations of justice, civil democracy and the entire concept of truth, that’s bad enough. But saying they “pass” a made-up test about plausibly lying to yourself that you’ve named after a closeted man the state hounded to suicide is beyond disgusting. It’s grotesque.

The mere existence of these tools demeans us all as scientists, engineers and humans. If you’re involved in building these things you should resign from the field in shame. In honour of Alan Turing’s memory and basic human decency, if nothing else.

Read the whole story
LeMadChef
11 hours ago
reply
Denver, CO
acdha
1 day ago
reply
Washington, DC
Share this story
Delete
1 public comment
jepler
1 day ago
reply
Food for thought. I'm aware of Turing's (and many others') persecution by authorities. I never considered what _else_ the Imitation Game might be, other than as the core idea to what became "the Turing Test".
Earth, Sol system, Western spiral arm
acdha
21 hours ago
Ditto - I’m embarrassed but not surprised that it was immediately obvious to a gay man

How to write resumes that get you an interview

1 Share

On Monday, we learned about Applicant Tracking Systems (or ATS), and how they work. Yesterday, we looked at the Objective section of a resume, and why it sucks.

Today, we’re going to explore some things you can do to your resume to make it more likely you’ll actually get called in for an interview.

Let’s dig in!

How to structure past work experience

With your resume, the goal of every section is for a recruiter to be able to skim it and easily pull out the important stuff without reading in detail.

Here’s a really effective format for listing past job experience…

Job Title, Company Name, Start Date - End Date
One or two sentence summary of the role at a high level.

  • Import thing you did
  • Another important thing you did
  • One more important thing you did

Focus on outcomes, not tasks

It’s pretty common to see things like this under job experience on a resume…

  • Know HTML, CSS, and JavaScript/React
  • Experience in accessibility and web performance.
  • Responsible for unit testing with Jest.
  • Created UI components for client library.

So what? Everyone else who applied for this role has done those things, too.

Tasks make you an expense. Outcomes make you an asset that adds value to the organization.

You want to show the recruiter why the things you’ve done matter by talking about the value you created for the client or the organization that you were working for.

Here are some examples…

  • Improved the performance of Animal Rescue Organization’s website by ~30%, resulting in a 75% increase in online donations.
  • Created a UI component library for Big University, enabling their internal developer team to work more quickly while remaining consistent with brand guidelines.

Every time you add an experience to your resume, ask yourself, “So what?”

You won’t always have numbers to back up what you’ve done. That’s ok! Describe the impact of your work, even if it can’t be quantified with data.

  • Wrote unit tests for core web app code, reducing the risk of shipping bugs and breaking code to our users.

What if you don’t have a lot of any work experience yet?

I get asked this a lot.

You’re new to the field, you’re looking for entry level positions, and you have no professional developer experience yet. What do you put on your resume?

In that case, I recommend using what’s called a Project-Based Resume format instead.

After your Summary of Qualifications, you include a Projects section. Follow the same format or structure as you would for relevant work experience, but list projects you’ve worked on instead.

These can be open source projects, things you’ve done as part of a course or bootcamp, or even just things you’ve done as side-projects for practice. If you can, though, give them catchy names!

Kraken, https://cferdinandi.github.io/kraken/
A lightweight, mobile-first boilerplate for front-end developers.

  • Includes the most common UI components (buttons, table, etc.), making it easy for developers to rapidly prototype ideas.
  • Built to be design system agnostic, it can be easily customized using CSS variables.
  • Includes a collection of CSS utility classes that can be used to nudge and tweak designs, enabling faster development.

List your work experience, if any, after this section.

Since its in an unrelated field, you can just provide an unordered list of job titles, company names, and dates of employment.

  • Employee Development, Widget Co, March 2019 - October 2021
  • HR Coordinator, Gears Inc., September 2017 - February 2019

Move your education to the end

Most resume templates have this right up at the top.

The thing is, no one cares. Seriously.

(Unless you have a PhD in Computer Science. Then they probably do. But you should still put your education at the end.)

What you know is important, but what you’ve done with what you know matters so much more. You want to get to your experience as quickly as possible.

Get unlimited access to a JavaScript expert. If you're working on a critical project, I can help you reduce your risk and avoid costly delays caused by common mistakes. Learn more about consulting with me.

Read the whole story
LeMadChef
11 hours ago
reply
Denver, CO
Share this story
Delete

Stardew Valley developer makes animated music video for Alvvays

1 Share
Many Mirrors - An image from the Many Mirrors music video, showing two mouse-drawn protagonists marveling at a bright star in an empty room hanging in the confines of space.
Image: Alvvays

A mouse-drawn adventure

Continue reading…

Read the whole story
LeMadChef
11 hours ago
reply
Denver, CO
Share this story
Delete

A reader asks how to avoid working for evil

1 Share

This one came in a request from a reader. They want to know my feelings about trying to "... avoid a company contributing to the downfall of humanity". This one's tough, particularly given my own history.

I worked for a web hosting company that had a dubious history of keeping spammers around far too long. Then while I was there, they had the so-called "adware" vendor. They got mad if you called it "spyware". I honestly thought it was random trash that people were installing on their own machines and so that's what they wanted. I only found out recently that it apparently was distributed by way of Internet Exploder drive-by ActiveX/whatever shenanigans. So, if you ran that cursed browser and landed on a page with their stuff in it, you got owned.

Now, that customer didn't last forever. They got whacked by AUP after a bit, but they were still there for a good... six months or so? And we definitely got bonuses in our paychecks when they upgraded their configs because we had managed to solve a bunch of their scaling problems. Yes, we made them more efficient, and *they got bigger* as a result, and those of us on the support teams directly benefited in a paycheck or two.

Then I worked for a place that was doing web search and had gotten into the business of providing free web-based e-mail that was pretty good. They had also started doing a few other things. They had a few simple *well delineated* ads on their result pages (and maybe a few other places), and that was it. Lots of people were like "you should go work there", so I tried it, and somehow I got in.

During my tenure there, they went and ate a company that I had a real beef with as a spam-fighting sysadmin for a bunch of users before the web hosting job. I'm convinced it's actually karma: eight years before, I had dinner with some people, including someone I had never met before. When I found out where he worked, I asked him something like "what's it like working for an evil company like Doubleclick". Yeah, I actually said that. *facepalm*

When the legalities of the merger were finished in 2008, I too worked for that evil company by extension. By absorbing it instead of killing it, we became them (see also: Collabra). The name was different, but the internal damage was done. This lead to all kinds of other crazy shit that came down the line, all in the name of fellating the advertisers, like Emerald Sea, aka Google Plus. That whole thing.

They were trying to do all kinds of crazy stuff, like you'd be browsing around and it'd say "hey, this looks like your Twitter page, so would you like to link it to your profile?" - and it's like holy crap, the company has crossed the line, then dug it up and set the pit on fire. Just because you CAN make a dossier on someone with your damn crawling infra doesn't mean you DO IT. That's where they were going. Full on creeper land, with the immense power of their infrastructure.

Then I decided to go somewhere else that (as far as I could tell) existed because people willingly put their data there. They uploaded pics and posted about going places and doing things. All of the data was sent to the site. The site didn't go out and scrape it off the web. I was okay with this. I didn't use the site myself, but I figured that made me the weirdo, not the (then) billion-something people who did. Clearly, they find it useful, so what do I care?

Of course, while I toiled in the infra mines at this company, all kinds of truly evil shit was going on, including the installation of a fascist regime in my country, the apparent genocide in at least one other country, and so on. It's like, someone even asked me about supporting the not-quite-UTF-8 language stuff they used in that country. Now I wonder exactly what all was enabled by virtue of being able to support that encoding! (Seriously, you know who you are. Is that what happened? Did that work let the bad people break loose out there?)

Then there's the joint which tried to look like they were all about smarter use of cars, but which probably added to overall congestion. They didn't want the key people who actually do the real work to be employees and went to the mat with heavy lobbying to make it happen during an election cycle. They also pulled out of a good-sized urban area in a very large state when the city put up requirements for background checks.

This is just the obvious stuff. I haven't even mentioned any of the "how they treat their employees" incidents from these places. Every company has at least a couple of these that I've actually witnessed, and far more that I heard about from trustworthy sources.

Sometimes I think about the fact that I've made some bad things more reliable so they can go about doing evil more efficiently, quickly, or just at all. It sucks.

I said this in 2013: "If your resources or reputation could be used to harm people, you owe it to them to jealously guard it lest it fall into the wrong hands." I still think this has happened too many times.

However, I no longer think that people are capable of guarding it to keep the vampires out. The only way to keep something with great power from being exploited might be to keep it from existing in the first place.

But what do I know, right?

Read the whole story
LeMadChef
20 hours ago
reply
Denver, CO
Share this story
Delete

CAPTCHA

1 Comment and 5 Shares

This is an actual CAPTCHA I was shown when trying to log into PayPal.

As an actual human and not a bot, I had no idea how to answer. Is this a joke? (Seems not.) Is it a Magritte-like existential question? (It’s not a bicycle. It’s a drawing of a bicycle. Actually, it’s a photograph of a drawing of a bicycle. No, it’s really a computer image of a photograph of a drawing of a bicycle.) Am I overthinking this? (Definitely.) I stared at the screen, paralyzed, for way too long.

It’s probably the best CAPTCHA I have ever encountered; a computer would have just answered.

(In the end, I I treated the drawing as a real bicycle and selected the appropriate squares…and it seemed to like that.)

Read the whole story
LeMadChef
1 day ago
reply
Denver, CO
acdha
1 day ago
reply
Washington, DC
Share this story
Delete

Analysing the aerodynamics of the fastest ever marathon

1 Share

Dr Christopher Beves and Stephen Ferguson from Siemens PLM uncover the aerodynamic Trickery behind Nike's Breaking 2 Project

In the early hours of Saturday May 6, at the Monza motor racing circuit in Italy, Eliud Kipchoge ran 26.2 miles in 2 hours and 25 seconds, beating the existing marathon world record by 2 minutes and 32 seconds. The run was the culmination of Nike’s “Breaking 2” project, a two year program aimed at demonstrating that it is physically possible for a human to run a marathon in less than two hours.

For the attempt to be successful Kipchoge would have to run about 7 seconds faster per mile than current world record holder Dennis Kimetto (who ran 2:02:57 in Berlin in 2014). Although on paper the performance increase of 2.5% required doesn’t sound too difficult, for runners operating at the very limit of human endurance, any gains would be very hard won. Many in the sports science community had predicted that the 2 hour barrier wouldn't be broken for 50 years or more in regular competition.

Although Kipchoge ran much faster than the current world record, the Breaking 2 project deliberately employed a number of tactics that meant his time is not recognised as a legitimate world record. I don’t want to go into too much detail here, but the Nike team apparently applied a “scientific” approach to optimising every part of his kit, training, nutrition, and in race tactics.

Before the run, much of the publicity had focused on Nike’s spring loaded Vaporfly Elite running shoe, which they had claimed improves running efficiency by as much as 4%. However in the days afterwards much of the conversation turned to aerodynamics, and the influence of the unfeasibly large timing board that was mounted on top of the pace car that drove in front of Kipchoge, and the “delta formation” adopted by his team of “relaying” pacers. By some calculations drafting was responsible for about 1:30 of the 2:32 that Kipchoge knocked off Kimetto’s world record.

In order to determine just how much influence "aerodynamic trickery" had in getting Kipchoge within 26 seconds of the mythical 2 hour barrier, we decided to run a series of computational fluid dynamics using STAR-CCM+, which is part of Siemens' Simcenter portfolio of simulation tools.

CFD Simulation

In order to extract the influence of both the car, and the delta formation of pacers, we performed four simulations:

The first case is a worst case scenario - an undrafted solo runner - while the fourth case simulates the actual conditions of the Breaking 2 attempt, in which our virtual Kipchoge is following the pace car (and timing board) whilst surrounded by a team of athletes in delta formation.

The simulations comprise 4 million computational cells for the solo runner, 8.5 million for the pack formation, 22.5 million for the car and virtual Kipchoge and 24 million for the whole lot with refinement around, and in the wake of, the car and runners. The k⍵-SST turbulence model was used (for those of you wondering) and we also verified the simulations using a k-ε Realizable model, which was within 2% agreement for the baseline and final cases; y+ was <20. For simplification, each of the runners is assumed to be a static mannequin frozen in a single running pose (we do not model the running movement of the arms and legs, although we have previously demonstrated that the average drag on a pedaling cyclist is well predicted using a static model).

Discussion of Results

The plots below show the velocity field around our virtual Kipchoge in each of the four scenarios. The dark blue areas show areas in which the air velocity is less than 5mph. In both the cases with pacers, Kipchoge is running into a 5 mph "wind" despite traveling at almost 13.1mph.

From the plots of velocity, you can see that the pacers do a great job of shielding Kipchoge from the wind. Our calculations suggest that the only real benefit of the car and timing combination is in preventing Kipchoge catching the wind in his face. The wake behind the timing board tends to skew upwards more because of the high speed flow beneath the car (which has a flat floor) expanding as exits the diffuser and the chasing pack has a higher pressure zone ahead of it, which then diverts the flow around it.

More usefully, we can integrate the pressure acting over the surface of our virtual Kipchoge, and calculate the drag force acting upon him in each of the four scenarios:

It is easier to interpret these results if we consider the “energy required to overcome drag”, which is the force acting on our Kipchoge, multiplied by his forward velocity (just under 13.1 mph). The energy that Kipchoge saves in not having to overcome aerodynamic drag should be available for him transfer to the road surface, and in principle run faster:

Given that Kipchoge is capable of running at roughly about 300 W, the difference between undrafted and fully drafted scenarios is around 31W, meaning that he can probably devote an extra 10% of his effort to running faster in the latter case.

Perhaps surprisingly, most of that saving is generated by the close delta formation of pacers around Kipchoge which generates a 28W saving even without the car, which only adds another 3W to the total.

Because power output varies with the cube of velocity it is possible to estimate the amount of time saved in comparison with the undrafted runner. Our calculations suggest that the pacers saved Kipchoge about 4:09 compared with a solo runner, and the pacers and car combination saved him about 4:35.

Things to note

The undrafted case is absolutely a worst case scenario (other than perhaps running into a headwind). Elite marathon runners do not set world records while running alone, typically burying themselves in a pack of runners to well beyond that halfway point. Dennis Kimetto didn’t hit the front until about 21 miles into his world record run in Berlin in 2014. We don’t think that it is unreasonable to assume that Kimetto, or Kipchoge would run several minutes slower if they were forced to run solo for 26.2 miles. The fastest female marathon runner, Paula Radcliffe, ran almost 2 minutes faster when surrounded by male runners (who were presumably drafting her) than when front running in a female only race.

The drafting cases, as simulated here, are absolutely the best case scenario (excluding a strong tailwind). As organized as the Nike pacing teams were, they weren’t the perfect static obstacles that this simulation assumes and there were times at which the runners were not running in perfect delta formation. The natural running movements of the athletes would probably also expose Kipchoge to additional drag.

There will be other limiting factors that we are not considering. Kipchoge’s ability to dissipate heat will probably have been compromised as a result of the drafting - especially when considering that any cooling air that reached him will have travelled past 6 other hot runners. This might be a second or third order effect, but worth maybe worth considering for an athlete competing at the absolute limits of human performance.

Also, the mannequin isn't a perfect representation of Kipchoge, and it looks like our "virtual Kipchoge" could usefully use some tailored nutrition to lose a few pounds of virtual fat.

Conclusions

Kipchoge is absolutely the best marathon runner in the world, probably the greatest of all time. We hope that he sets the legitimate world record that he deserves sometime soon. Whatever aids he had, legitimate or otherwise, this was still one of the greatest feats of endurance running in history.

Lots of the coverage in the days after the Breaking 2 attempt concentrated on the drafting effect caused by the ridiculously large clock that was mounted on top of the pace car. Our simulations show that the drafting caused by the clock probably did reduce the effort required to overcome drag, and therefore allowed Kipchoge and his pacers to run faster for a given level of effort. However, although significant, the drafting effect of the car was much less important (by a factor of 10) than that of the carefully orchestrated pacing formation. We think that the "large clock" took more of Kipchoge's publicity than it deserved.

Our simulations suggest that the combined influence of the car, clock, and pacers, reduced the aerodynamic drag experienced by Kipchoge by a maximum of about 83%, saving him over 30 Watts, (about 10% of his overall effort level), compared with a completely solitary runner at the same speed. This reduction in drag could be worth as much as 4.5 minutes, compared with an undrafted runner at the same speed. However, since the legitimate world record was run in partially drafted conditions, and our simulations are somewhat idealized, it is likely that the actual time saved was significantly less than 4.5 minutes, compared with a regular big-city marathon.

However, despite all of the “marginal gain” type improvements that Nike publicized in the lead up to this event, the evidence suggests that the vast majority of the performance improvement achieved was down to aerodynamic drafting.

Perhaps the most surprising conclusion is that the pace car was worth only about 30 seconds of the performance improvement, which suggests that if you could organise a group of pacemakers that were capable of running in formation for most of the distance (instead of illegally relaying as in the Nike project), then you could probably get the legitimate world record close to 2:01:00.

Read the whole story
LeMadChef
1 day ago
reply
Denver, CO
Share this story
Delete
Next Page of Stories