Code Monger, cyclist, sim racer and driving enthusiast.
7110 stories
·
4 followers

The Children Are Driving the Bus — Adrian Roselli

1 Comment and 2 Shares

He includes an image showing an LLM code generation tool with alternative text consisting of a URL.

Ashlee Boyer did the thing nobody at Vercel seemed willing to do — she took a passing glance at the accessibility of the output (there is a thread from this tweet):

The image showed the flawed code.

Vercel’s CEO did the bare minimum expected of someone in his position, namely acknowledging and committing to nothing while qualifying this as an “alpha”. Which had the side effect of showing the Vercel CEO considers “alpha” tools can generate “production-grade” code.

McCoy comforting Sulu, faces camera: “His dick fell off because a woman wrote words on the Internet.” In the meantime, a lot of guys whose sense of self-worth is clearly tied to their preferred tool (yes, read that as you see fit) piled on to Ashlee and did exactly what threatened insecure dudes do — they lashed out like angry toddlers.

Heather Buchel captured this wonderfully in her post The JS community on Twitter is dead.

We’re at this point:

  • Some new alpha tool that impacts user interfaces is announced to the JS community? The accessibility community shows up with respectful feedback. Seems perfectly normal since alpha is the perfect time to get feedback.
  • Accessibility advocate shows up with reasoned feedback and requests transparency and accountability? Misogynists, and nazis show up.

It was Twitter, after all, so of course the most toxic folks would come running at the smell of an easy hit to show their buddies. It probably did not help that Tailwind was mentioned, and following dear leader’s fragile ego, those apologists piled on as well.

Hidde wrote about the ableist interactions on top of the gratuitous misogyny:

Below, I’ll list some responses I found problematic, and try and explain why. I’m hoping this is helpful for people who want to understand better why accessibility is critical, and why accessibility specialists point this out.

He then presents six anonymous examples (made up of a few posts each) and explains why they are misinformed and arguably hateful. As a casual observer, we need to remember these are developers building interfaces for your family, your friends, and future you. That should be terrifying.

I saw nothing from Guillermo Rauch, Vercel’s CEO, to try to dissuade his ardent defenders from being bullies. Much morality. Very leadership.

Sophie Koonin looked it from the very practical perspective of the overall broken business model:

Prototyping is one thing. Noodling around with UI ideas? Fantastic. Please don’t put it into production.

A pattern I’ve noticed with a huge number of tech/SaaS startups is:

  • have idea
  • build very quick, inaccessible UI “prototype” to test idea
  • ship prototype to production
  • prototype becomes the actual product

This tracks pretty closely with my overall argument in Accessibility ‘Gaps’ in MVPs, which has a paragraph that name checked Vercel’s v0 — ten months before it was announced:

Simply, if your MVP does not have accessibility factored in, it is not viable. If you claim accessibility is a core principle but your version 0 does not include it, then it is not a core principle.

Stop lying to us. Perhaps more importantly, stop lying to yourself.

Granted, nobody at Vercel has indicated in any way that accessibility is even remotely important. So I guess they get a pass on my “core principle” swipe.

Which also makes complete sense given React’s (former) engineering manager, now at Vercel, had this to say about user experience when it bumps up against developer experience:

So people started playing around with this internally, and everyone had the same reaction. They were like, “Okay, A, I have no idea how this is going to be performant enough, but B, it’s so fun to work with.” Right?

Everybody was like, “This is so cool, I don’t really care if it’s too slow — somebody will make it faster.”

[ dismissive chuckle, applause ]

Somebody will make it faster.” Someone else, not me, will come along and fix this broken thing we are knowingly pushing out there. Not my problem; don’t harsh my buzz.

Read Taylor Hunt’s Why not React? if you want to be angry at a different thing, which is where I found that thoughtful quote.

I got all the way through this post and didn’t even touch on the core deceit of Vercel’s offering, which is LLM code generation marketed as AI. We already know LLMs cannot produce accessible code. Consider UserWay’s foot-gun of training an LLM on its own code and still producing output that got mocked by everyone who already knows UserWay’s barely casual relationship with the truth:

Folks in the A11y Slack community promptly gave it a run. They identified terrible image alternative text suggestions, incorrect use of ARIA for navigation controls, <span>s with button roles (with no event handlers), aria-label suggestions for fields that already have a label, using the title attribute to provide instructions, and more. Each of those scenarios was a WCAG violation, meaning this tool would introduce failures.

Of course, if you are reading my blag-o-tron then you likely know I have opinions on whether or not LLMs will ever be up to the task of dealing with this:

Let’s assume those coding tools eventually get cleaned up to output idealized, conformant, accessible code. How will they account for platform bugs? No tool is stopping you from using CSS display properties on tables today. No accessibility overlay is rebuilding them dynamically to visually look the same while avoiding these long-documented bugs.

This isn’t an issue of not good enough yet. These tools simply won’t know the context or intent of the author (let alone the needs and expectations of the user). Certainly not while navigating the sea of bugs in nearly every learning source dataset (on the input side) or rendered screen to be fixed (on the output side).

Way too many of the hot technology stacks luring devs away from user-first principles are built on ableism and misogyny. They seemingly tease the lulz, endorphin hits of quick releases, and near-term support abandonment. It shows no signs up letting up.

If your sense of personal value is such that someone pointing out flaws in a demonstrably broken tool is enough to make your blood boil, then maybe you are in the wrong career. If you are making that tool, you are definitely in the wrong career.

Read the whole story
LeMadChef
32 minutes ago
reply
I've said this for a long time about the computer industry. The inmates are running the asylum.
Denver, CO
acdha
6 hours ago
reply
Washington, DC
Share this story
Delete

If You’ve Been Wanting To Spend Over $150K On A Fancy Electric Original Mini Boy Do I Have Good News For You

1 Share

I love the idea of taking old iconic cars and updating them with modern EV drivetrains, Gattica-style, so that they may live on well into the forthcoming Electric Era. There’s a number of companies out there doing just that, and if these companies have one thing in common, it’s that what they end up making is never cheap. Converted air-cooled Volkswagens tend to go for around $85 to $100,000 or more, for example. Converting a combustion car to an EV is kind of an involved process, and components like batteries are pricey, which means that to make money, the only way to do it is to make your conversions fancy-trousers premium things, which you can then demand a lot of money for. That’s the approach taken by David Brown Automotive, which just announced their Mini eMastered, a really luxuriously finished and appointed Mini with an electric drivetrain and a range of about 110 miles that costs over $150,000. It’s terribly cool, but I really look forward to the day when EV-converted classics don’t demand six-digit prices. I mean, I can sit on vinyl. My ass doesn’t need hand-stitched vegan mushroom leather!

The name, eMastered, is a derivation of Mini Remastered, which is the line of extremely expensive and high-end original combustion-engined Mini restomods that the company has been selling for a number of years. The eMastered leverages all of the work the company has done to modernize and enfancify old Minis, including dashboards that incorporate a center-stack touchscreen, integrated A/C units, jewelry-like knobs and other switchgear, and lots of leather trim and seats and all that stuff.

Really, it all looks pretty fantastic, as you can see in the nearly reverential cinematography of their promo video, captioned by us.

I mean, I can think of far worse ways to spend $150,000 than on a really charming electric city car like this. Specs-wise, I think a lot of smart decisions were made; the weight of it all is only about 1,400 pounds, an absolute featherweight by EV standards, in large part thanks to the quite small 18.8 kWh battery pack. Just for comparison, the smallest pack you can get on a Nissan Leaf is 40 kWh (but an old BMW i3 came with a 22kWh pack). The small pack I think makes sense, because this is mostly going to be used as a city car. Even with that small pack 110 miles of range are possible, and given the context this car is designed to be used in, why haul around a crapton of battery you just don’t need? It’s a sensible approach.

Mine 2

Another nice thing about a smaller battery is that it only takes about 3 hours to fully charge at 6.6 kW AC charging. That’s about a quarter of what most mainstream EVs take on a home charger.

That sensibly-sized battery is pumping electrons through a 96 horsepower Zonic 70 electric motor (for comparison, a 1968 Mini was making around 58 hp) which is good enough to get this little gem from zero to 60 mph in 8.5 seconds, which should be plenty, and it’ll eventually hit 92 mph if you keep that pedal down, whizzing off into the stylish sunset.

Mine 3

Design-wise, this thing looks pretty much like a very nicely-sorted original Mini, just with a different grille mesh and some modern projector headlamps, the one element of the design that I don’t think really works. You see this on a lot of resto-mods, and I think we’ve given these sorts of headlights a fair chance and we can just call it. Isn’t there some way to make modern LED lights with fluted lenses? Or do they all have to look like this kind of Amazon aftermarket crap? I’m asking!

Mine 4

These interiors are pretty great, and the attention to detail you can have when dealing with a small car is very evident here. Just look at that leather-slathered trunk there, with the stainless steel runners. I bet it smells fantastic in there. I want to put my whole head inside that trunk and just breathe.

The taillights I’m not too crazy about, though. I mean, they’re not bad, and I don’t mind the three-round-lamp look, but on a car this fancy, I’d like to see something more than three off-the-shelf lights set into a custom housing.

Mine 5

Those knobs look satisfying to hold and turn, although I think those lower two probably could use some kind of label. And, with all those nice knobs, it’s kind of a letdown that an important control like the volume control is that fussy little rocker button on that Pioneer head unit instead of another nice chunky knob. I mean, which are you using more, volume control or… what is that, the rear window defroster? Come on, for $150K, David Brown can figure something out.

Mine 6

There’s no question this is a lovely thing, and very appealing. But, like so many other lovely things in the automotive world today, I can’t help but think the high cost just makes it kind of irrelevant. It’s a lovely toy, but until there’s a good means for EV converting old cars for, say, half this price or less, then what’s the point?

Minie 1

Maybe I’m getting jaded. Conceptually, this gets a lot right: smart battery size for the job, great look, great use case for an EV. There just should be versions of this for non-rich people.

 

Relatedbar

The All-New Mini Countryman Electric Isn’t Really Mini And I’m Not Sure About The Looks But The Interior Is Great

The 2025 Mini Cooper E Could Become America’s Best City-Car Since The BMW i3

Things Get Complicated When Our English Car Designer Digs Deep Into One Of Britain’s Most Iconic Designs: Mini

I’m Going To Defend The Most-Hated Original Mini: The Clubman

Watch This Classic Mini Accidentally Pull Terrifying ‘Italian Job’ Stunts On An Ohio Freeway

The post If You’ve Been Wanting To Spend Over $150K On A Fancy Electric Original Mini Boy Do I Have Good News For You appeared first on The Autopian.

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

The All-New Mini Countryman Electric Isn’t Really Mini And I’m Not Sure About The Looks But The Interior Is Great

1 Comment

Mini is going to debut their new electric car (or crossover or whatever these are known as now) for North America at the Climate Week NYC event to be held in Lansing, Michigan. I’m kidding! Of course Climate Week NYC is in New York City, and that’s where this new, not-so-Mini Mini is being revealed to America. This new Mini is the largest Mini ever, and Mini is pushing it hard as it’s a key component of their plan to be an all-electric brand by 2030. They need a popular, mainstream EV crossover, and that’s what Mini is hoping the new Countryman becomes. I’m not sold on the looks exactly, but it’s not boring, and the interior is pretty striking. You know, from this three-quarter angle, with those particular reflections, I like the look?

Ct 230917 Bmw 0325 Large

What I did manage to get some footage of is the most important thing to note: Mini seems to have fixed its horrific rear turn indicator nightmare that was on the previous Countryman, where the Union Jack-style taillight design caused the turn signal arrows to look like they were pointing in the opposite direction. Look at the video here:

I did get to very briefly sit in one that was being shown at the Goodwood Revival in the UK, and while it was a bit too crowded to get usable pictures, I did get a good sense of what the interior feels like, and I think that’s where this car will make its biggest impression. The interior is minimalistic but quite comfortable, roomy and with a lot of novel materials used. Here’s a GIF of what the old taillights used to look like, btw:

 

Minidumbindicators

Back to the interior, though; the dashboard is especially striking, as it uses a very novel round OLED display, on a fabric-covered dashboard surface that has colorful patterns projected onto it, patterns that vary by drive mode and perhaps do more. I’m not entirely certain if they’re just decorative or may have some status-indicating function as of yet, but I’m very curious.

P90519636 Highres Large

Looking closely at the Dash and door cards, you can see there’s a lot of use of what I believe are some kind of sustainable, coarse-weave fabrics as opposed to the traditional plastics and rubbers and faux or genuine leathers. It’s certainly not the first time we’ve seen this done on cars (think about early Fiat Panda interiors, for example) but I’m always pleased to see new approaches to the concept.

P90519637 Highres Large

The overall visual experience is quite minimalistic, at least according to Mini, who describes various aspects of the car’s design as “expressive minimalism with character” and I guess I can agree to that. Oh, also, in that image above, you can see what I believe are the projector units behind that big round screen that project the dot pattern onto the dashboard surface. Those vents are interesting, too, also quite minimal, but hopefully they direct air around well enough.

P90518577 Highres Large

I only got to sit in the back seat for a moment when I was at Goodwood, and while my Shtetl Hobbit dimensions aren’t really the best benchmark here, I had plenty of leg and headroom. It’s a boxy car, so the interior is going to be fairly roomy no matter what, and it seems to be.

Ct 230917 Bmw 0647 Large

Exterior-wise, I’m pretty conflicted. From some angles I think it looks clean and tidy, a nice modernist update to some of the essential Mini elements, but then I see the front and I’m not so sure. The headlights have been recast from the original round/ovoid designs over the years and are now sort of heptagonal shapes, with a DRL ring on the outside and some projectors inside. I think this was done to gradually give the car a more aggressive face, and they did, but does a Mini really need that?

Ct 230917 Bmw 0560 Large

The fake grille I’m also a bit torn on. The crucial identifying elements of the Mini face do include that distinctive grille area, and what Mini is doing here is, I suppose, a sort of playful pattern-and-color-based take on the visual idea of a grille, but I’m not so sure it works. Should the big bumper area in the lower part, still surrounded by the basic grille shape, be body colored, or fit in with the grille? Like, would this be better?

Grille Adjustr

Maybe? Hm. I mean, it doesn’t look like everything else out there, and I’m delighted to see such an unashamed green, so there’s that.

Ct 230917 Bmw 0340 Large

In profile, it’s clean, and the somewhat tall and stubby proportions still retain some feeling of Mini, despite its larger size. One detail I’m really unsure about though; it’s hidden by being black on this car, but there are other variations of it, as you can see here. It’s this thing by the C-pillar:

P90518538 Highres Large

I guess it can vary color based on if you have a white or black roof? The All4 version seems to be for the all-wheel-drive variant, while the one shown in the US press release has that sort of Union Jack-like type of pattern, or a double-headed arrow, whatever it is. From the inside, as you’d guess, these little flaps or whatever do take a pretty big visibility toll, and I don’t really know what their purpose is. Was a designer just hedging their bets by making something so otherwise minimal? I’m really not sure.

Ct 230917 Bmw 0594 Large

When viewed from behind, I’m starting to think that the little flaps are like the modern equivalent of a vestigial landau bar.

The taillight design I think is generally good, with the Union Jack motif composed of little triangular, rectangular, and rhomboid elements: P90518539 Highres Large

Hopefully the US spec one will retain an amber indicator (which seems to be formed of correctly-facing arrows, in the center part there) but knowing how US models tend to be, I’m not going to get my hopes up.

Specs-wise, the press release for the US model doesn’t go into details, but there are some out there, just not in the absurd non-metric units we still use here. It’s ok, I’ll do the math. We do know that the new Countryman has a longer 105 inch wheelbase and comes in two levels of power: There’s the Countryman E with 204 horsepower and 184 pound-feet of torque or an SE version with 313 hp and 364 lb-ft. Range is about 269 miles, though I’m don’t think official EPA numbers have been given yet.

P90518535 Highres Large

So what do we think of this new electric Mini? Overall, it seems generally usable and capable, a practical package that’s stylish in a mostly understated way. I’m still not totally sold on the look, and I don’t think it has a frunk – if it does, nothing has been said about it – which I still regard as a negative. Mini should be good about interesting, non-grayscale color selections, which is nice, and hopefully there’s an attempt to make it engaging to drive, which is also a key part of the Mini heritage.

Will people pick one of these over a Tesla or Mach-E or electric Volvo or VW or whatever? Does it have enough essential Mini-ness to be appealing to their traditional niche Mini-loving market? I’m not sure.

But at least they fixed the damn turn signals.

 

Relatedbar

 

 

 

The post The All-New Mini Countryman Electric Isn’t Really Mini And I’m Not Sure About The Looks But The Interior Is Great appeared first on The Autopian.

Read the whole story
LeMadChef
1 day ago
reply
Ugh, I hate it. :(
Denver, CO
Share this story
Delete

Telling AI model to “take a deep breath” causes math scores to soar in study

1 Comment
A worried-looking tin toy robot.

Enlarge (credit: Getty Images)

Google DeepMind researchers recently developed a technique to improve math ability in AI language models like ChatGPT by using other AI models to improve prompting—the written instructions that tell the AI model what to do. It found that using human-style encouragement improved math skills dramatically, in line with earlier results.

In a paper called "Large Language Models as Optimizers" listed this month on arXiv, DeepMind scientists introduced Optimization by PROmpting (OPRO), a method to improve the performance of large language models (LLMs) such as OpenAI’s ChatGPT and Google’s PaLM 2. This new approach sidesteps the limitations of traditional math-based optimizers by using natural language to guide LLMs in problem-solving. "Natural language" is a fancy way of saying everyday human speech.

"Instead of formally defining the optimization problem and deriving the update step with a programmed solver," the researchers write, "we describe the optimization problem in natural language, then instruct the LLM to iteratively generate new solutions based on the problem description and the previously found solutions."

Typically, in machine learning, techniques using algorithms such as derivative-based optimizers act as a guide for improving an AI model's performance. Imagine a model's performance as a curve on a graph: The goal is to find the lowest point on this curve because that's where the model makes the fewest mistakes. By using the slope of the curve to make adjustments, the optimizer helps the model get closer and closer to that ideal low point, making it more accurate and efficient at whatever task it's designed to do.

Rather than relying on formal mathematical definitions to perform this task, OPRO uses "meta-prompts" described in natural language to set the stage for the optimization process. The LLM then generates candidate solutions based on the problem’s description and previous solutions, and it tests them by assigning each a quality score.

In OPRO, two large language models play different roles: a scorer LLM evaluates the objective function such as accuracy, while an optimizer LLM generates new solutions based on past results and a natural language description. Different pairings of scorer and optimizer LLMs are evaluated, including models like PaLM 2 and GPT variants. OPRO can optimize prompts for the scorer LLM by having the optimizer iteratively generate higher-scoring prompts. These scores help the system identify the best solutions, which are then added back into the 'meta-prompt' for the next round of optimization.

“Take a deep breath and work on this step by step”

Perhaps the most intriguing part of the DeepMind study is the impact of specific phrases on the output. Phrases like "let's think step by step" prompted each AI model to produce more accurate results when tested against math problem data sets. (This technique became widely known in May 2022 thanks to a now-famous paper titled "Large Language Models are Zero-Shot Reasoners.")

Consider a simple word problem, such as, "Beth bakes four two-dozen batches of cookies in a week. If these cookies are shared among 16 people equally, how many cookies does each person consume?" The 2022 paper discovered that instead of just feeding a chatbot a word problem like this by itself, you'd instead prefix it with "Let's think step by step" and then paste in the problem. The accuracy of the AI model's results almost always improves, and it works well with ChatGPT.

Interestingly, in this latest study, DeepMind researchers found "Take a deep breath and work on this problem step by step" to be the most effective prompt when used with Google's PaLM 2 language model. The phrase achieved the top accuracy score of 80.2 percent in tests against GSM8K, which is a data set of grade-school math word problems. By comparison, PaLM 2, without any special prompting, scored only 34 percent accuracy on GSM8K, and the classic "Let’s think step by step" prompt scored 71.8 percent accuracy.

So why does this work? Obviously, large language models can't take a deep breath because they don't have lungs or bodies. They don't think and reason like humans, either. What "reasoning" they do (and "reasoning" is a contentious term among some, though it is readily used as a term of art in AI) is borrowed from a massive data set of language phrases scraped from books and the web. That includes things like Q&A forums, which include many examples of "let's take a deep breath" or "think step by step" before showing more carefully reasoned solutions. Those phrases may help the LLM tap into better answers or produce better examples of reasoning or problem-solving from the data set it absorbed into its neural network during training.

Even though working out the best ways to give LLMs human-like encouragement is slightly puzzling to us, that's not a problem for OPRO because the technique utilizes large language models to discover these more effective prompting phrases. DeepMind researchers think that the biggest win for OPRO is its ability to sift through many possible prompts to find the one that gives the best results for a specific problem. This could allow people to produce far more useful or accurate results from LLMs in the future.

Read Comments

Read the whole story
LeMadChef
1 day ago
reply
What the fuck?
Denver, CO
Share this story
Delete

When looking to free up disk space, don’t forget your symbol file caches

2 Shares

If you’re trying to free up disk space on a developer system, one place to look for unwanted files is your debugger symbol file caches.

The Windows debugging engine creates a cache of symbol files so it can avoid downloading them repeatedly from the configured symbol server. And that cache can get kind of big, since there’s no automatic pruning.¹ This is the disk space version of A cache with a bad policy is another name for a memory leak.

Places to look are

  • $(DebuggerInstallDirectory)\sym
  • %TEMP%\sym
  • Any directories that have ever been listed in %_NT_SYMBOL_PATH%²
  • C:\SymCache
  • C:\symbols

Visual Studio also caches symbols. You can configure where it saves them under Tools, Options, Debugging, Symbols, Cache symbols in this directory. It defaults to %TEMP%\SymbolCache.

My tool of choice for investigating disk space is WizTree. I have no stake in this program. Just a happy (paying) customer.

What I do is create a symbolic link from each of these potential cache directories into a single directory C:\SymCache, so that the different debuggers can share symbol caches.

Bonus chatter: Many years ago, I was working on a laptop and fired up the Disk Cleanup tool, and heard the laptop fan shriek to life as it was “calculating how much space you will be able to free”. This seemed odd, so I connected a debugger to figure out why merely deciding what to do was a CPU-intensive operation.³

It turns out that the Disk Cleanup tool was in a tight loop checking whether the Cancel button had been clicked, while a background thread was busy doing the calculations. This behavior was part of the Disk Cleaner’s original implementation in Windows 98, which was particularly ironic since Windows 98 did not support multiprocessing, so the code was saturating your only CPU just to see if it should keep waiting, starving out the background thread that’s actually doing work.

For Windows 10 Version 1709, I fixed it so the code didn’t poll the Cancel button. It just went into a normal message pump, and checked the state of the Cancel button after each message. Clicking the Cancel button would itself generate a message, so checking after each message was sufficient.

This dropped the CPU usage of the UI thread down to basically zero.

Previously, in CPU spin loops.

Bonus bonus chatter: A few weeks after I fixed the problem, the Windows performance team filed a bug saying that their telemetry identified the Disk Cleanup tool’s Cancel dialog as consuming an unusually high amount of CPU. I had the satisfaction of telling them, “Already fixed.”

¹ You can perform manual pruning with the AgeStore program.

² You can tell how old that page is, because it says “Because symbols can sometimes be tens of megabytes in size…” Nevermind that the page itself is over a megabyte. (21KB for the main page itself, and the rest is for the fluff around the page, like 263KB for the syntax highlighter JavaScript library and 121KB for the Microsoft Build advertisement that was present in early 2021.)

³ Some time ago, we learned why cleaning Windows Update files is a CPU-intensive operation.

The post When looking to free up disk space, don’t forget your symbol file caches appeared first on The Old New Thing.

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

blink-182 share 2 new songs, recreate their classic music video scenes in “One More Time”

1 Share

blink-182 have released two new songs from their first Mark, Tom, and Travis album in 12 years, One More Time…: the title track and “More Than You Know.” As teased, the title track is an acoustic ballad in the vein of “I Miss You” (and it actually includes the lyric “I Miss You” more than once), inspired by the way it’s always taken tragedy to get the classic blink lineup back together, like Travis’ 2008 plane crash and Mark’s 2021 cancer diagnosis. That one comes with a video that features the present-day band playing in some of the same exact scenes used in classic blink videos. (And it looks like Travis sings a little bit on this one too?)

As for “More Than You Know,” this one finds the band channelling the heavier pop punk/post-hardcore fusion that defined much of their untitled album and Neighborhoods. Both songs were produced by Travis Barker. Check them out below.

One More Time… comes out October 20 via Columbia. Pre-order the album on coke bottle clear vinyl, standard black vinyl, or CD here.

The post blink-182 share 2 new songs, recreate their classic music video scenes in “One More Time” appeared first on BrooklynVegan.

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