Inspired by a mix of Julia Evans and how much fun I had last time, I threw together another sketchnote on the basics of relational databases.
![Relational Databases: How we store data! They model relations between things. Databases have tables, which have rows and columns. A column has one type of data, like CHAR, VARCHAR, and NVARCHAR for text, INT, BIGINT, FLOAT, and DOUBLE for numbers, BOOL for booleans, and DATETIME for dates and times. Columns can also be nullable, which basically means ‘optional.’ Having a single type of data per column allows databases to be very fast and efficient. Rows are the actual data in the database, and are also referred to as ‘records’ or ‘entries.’ Keys: a table has a column as its primary key. That means that each row has a unique value there, which you can use to identify the row. Kinda like a social security number, or your phone number - it’s uniquely yours! A foreign key is a value that is the primary key of another table. You can use it to reference a row in a different table.](https://grey280.net/wp-content/uploads/sites/2/2020/01/Relational-Databases-1024x558.png)
Inspired by a mix of Julia Evans and how much fun I had last time, I threw together another sketchnote on the basics of relational databases.
The first unit in our course on Advanced Design and Prototyping focused on Value-Sensitive Design, and a couple of the assignments we did as part of it were pretty fun.
The first was to do a sketchnote on the concept itself. I’ll admit, I was a bit skeptical of the concept of sketchnoting – I thought it would be fun, but I didn’t think it would actually be all that useful. In doing it, however, I found that it helped me to coalesce my thoughts a bit – though, admittedly, that may have more to do with the fact that it forced me to go through my typed notes again than the sketchnoting itself. Still, it was a fun way to do that bit of studying, so I think I’ll try to add it to my workflow in the future.
Another activity was to put together a presentation, going through some value-sensitive design processes and presenting our ‘findings.’ Of the available prompts, I chose the one that boiled down to “your team has just been hired to design a photo-sharing application; you’re in charge of the VSD portion. Go.”
The second unit in my course on User Experience and Evaluation was on competitive analysis — looking over the competitive landscape in a given marketplace, and using that data to figure out both the low-level design and high-level strategy you should use to effectively compete.
While I considered doing an analysis of the productivity management/to-do-list marketplace (an area on which I have many opinions), I realized that the end result of that analysis would be “the marketplace is saturated, and the ‘table stakes’ level of functionality is prohibitively expensive to achieve.” Not the most exciting result.
Instead, I looked at another area where I’ve gone through a surprising number of apps: fitness tracking. Specifically, workout planning and tracking – I did a previous assignment on how people use the gym, and one of my findings was “hoo boy are there a lot of different systems for planning and tracking a workout.”
After downloading quite a few apps and compiling a rather monstrous spreadsheet, I put together the results into a report, which I’m now posting here.
(Will I be using these findings to develop an app? … No comment.)
For those using screen readers, or who prefer their own reading environment, you can download the full presentation PDF here:
Don Sakers
I mentioned in my last review that I was reading this omnibus; I didn’t review the short story in the middle, as it seemed a bit too short to be worth the effort, but did enjoy it. And it provided a good introduction to the characters here, eased the transition of skipping forward half a millennium or so.
I’ll start off by saying that I enjoyed “Children of the Eighth Day,” but temper that by saying it wasn’t as good as “Dance for the Ivory Madonna.” It’s more removed — it’s a space opera, and I’m much less familiar with the goings-on of an interstellar empire than I am of the modern world.
The overall flow was interesting — the first half of the book wraps up far more than I thought it would, and the second half has an entirely different set of issues for the characters to confront.
In retrospect, I think the short story leading in to this is not just helpful, but perhaps necessary, to be able to at all follow the events of the first few chapters. Things kick off very quickly, and trying to figure out the context of the Empire and the Family would be a bit much in addition to the actual events of the plot.
Final verdict: I do recommend the omnibus as a whole, but it might be worth reading it out of order — there’s a bit of spoiler effect for “Ivory Madonna,” as historical context, but I don’t think it gives away enough to really ruin the book for you, if you do read it in that order.
Based on how this blog is going so far this year, I should retroactively declare my resolution to be “blog more.”
Silhouette by Aquilo on Silhouettes
Cologne by Haux on Something to Remember – EP
Sober by Edwin Raphael on Sober – Single
Coincidental by Betcha on Coincidental – Single
Connor by SYML on SYML
Falling Down by Harrison Storm on Falling Down – Single
Angel by H. Kenneth on Angel – Single
Fk Collingwood by Hayden Calnin on Fk Collingwood – Single
Hey, Ma by Bon Iver on Hey, Ma – Single
Haunted by Saint Claire on Haunted – Single
Crying at the Party by Harry Strange on Crying at the Party – EP
Cars at Night by By The Coast on Cars at Night – Single
Barrio by Mahmood on Barrio – Single
On Our Last Day by Hayden Calnin on A Life You Would Choose – EP
Tonight – Thorin Loeks on Tonight – Single
Cover Your Eyes by Black Match on Cover Your Eyes – Single
Hard Lines, Hard Times by William Wild on Hard Lines, Hard Times – Single
Tourner dans le vide (Slowed) by Unge Moped & Tuber on Tourner dans le vide : Man slowed down – Single
Without Fear – Dermot Kennedy on Without Fear
Hollow Coves – Firewoodisland on Hollow Coves – Single
Edge of the Ocean – By The Coast on You
Drive – OTR & Panama on Drive – Single
everything i wanted – Billie Eilish on everything i wanted – Single1
Symmetry – SYML on Symmetry – Single
Dolly Zoom – Elliot Moss on Boomerang
Closedloop – Elliot Moss on Boomerang
Don’t Take the Money – Harry Strange on Don’t Take the Money – Single
20 Something – Alexander 23 on I’m Sorry I Love You
Blue Tide Eyes – FLØRE on Blue Tide Eyes – Single
Bravado – Yoke Lore on Bravado / Body Parts – Single
Tightrope – Danny Bowens on Tightrope – Single
When I Need a Friend – Coldplay on Everyday Life
Hope – Balcony on Hope – Single
This is Where it Ends – Richard Walters on This is Where it Ends – Single
Back Around – Harry Strange on Back Around – Single
Dead Ringer – Yoke Lore on Dead Ringer – Single
Monsters – Lucy Daydream on Monsters – Single
Borders – Nathan Ball on Borders – Single
Silver + Gold – Elliot Moss on A Change in Diet
Eight – Haux & Rosie Carney on Eight – Single2
Need You – Kidswaste on Need You – Single
Raising Hell (feat. Big Freedia) – Kesha on High Road
Orphans – Coldplay on Everyday Life
Daddy – Coldplay on Everyday Life
Chanel – Frank Ocean on Chanel – Single
The Village – Wrabel on The Village – Single
Movements – Mild Minds on Movements – Single
I Don’t Wanna Die – Betcha on Falling – EP
Swing – Sofi Tukker on Swing – Single
Ghost – JacobNeverhill on Ghost – Single
Blind – INTET on Blind – Single
Hard Times (Acoustic) – RITUAL & Robinson on Hard Times (Acoustic) – Single
Èkó – Coldplay on Everyday Life
Million Pieces (feat. The Chamber Orchestra of London) – Bastille on Doom Days (This Got Out of Hand Edition)
Young Minds – Saavan on Observatory – EP3
Down – Griffin Stoller on Down – Single
notice me (feat. BENEE) – ROLE MODEL on oh, how perfect – EP4
Lucky Me (feat. Great Good Fine Ok) – The Knocks on Summer Series: 2019 – EP
Take Me Apart – SYML on Take Me Apart – Single
New Day – Benji Lewis on New Day – Single
Apollo – Charles Fauna on Apollo – Single
Happens to the Heart – Leonard Cohen on Thanks for the Dance5
Chewing Cotton Wool – The Japanese House on Chewing Cotton Wool – Single
Trouble in Town – Coldplay on Everyday Life
Hallelujah – Oh Wonder on No One Else Can Wear Your Crown (Deluxe)
Barricade – Elliot Moss on A Change in Diet
Rossetto – Random on Rossetto – Single
Time (feat. Muna) – Blewbird on Time (feat. Muna) – Single
Sober – Harry Strange on Sober – Single6
Saturn – Sleeping At Last on Atlas: Space 2 – EP
Stay – Alt Bloom on Stay – Single
Hvn – TEME on HVN – Single
Deja – Leo Islo on Deja – Single7
Lies (feat. H. Kenneth) – Syence on Lies (feat. H. Kenneth) – Single
Jericho – Westerman on Jericho – Single8
Bodyintoshapes – Elliot Moss on A Change in Diet
Picaflor – Lao Ra & C. Tangana on Picaflor – Single
Blinding Lights – The Weeknd on Blinding Lights – Single
Family (with Kygo) – The Chainsmokers & Kygo on World War Joy
hungover & i miss u – gnash on hungover & i miss u – Single
Chain – Lolo Zouaï on High Highs to Low Lows (Deluxe)
Top Dom – Avery Anthony on Top Dom – Single
Dancin (feat. Luvli) [Krono Remix] – Aaron Smith on Dancin (feat. Luvli) [Krono Remix] – Single
Demons – Alec Benjamin on Demons – Single
Rapide – Mahmood on Rapide – Single9
Rabbit Roads – Elliot Moss on A Change in Diet
Circles – Post Malone on Hollywood’s Bleeding
Wherever You Are – Kodaline on Wherever You Are – Single10
MIDDLE OF THE NIGHT – Elley Duhé on MIDDLE OF THE NIGHT – Single
Soil’s Daughter – Aisha Badru on Soil’s Daughter – Single11
Higher – Byron Langley on Light On – EP
In the Same Place – Elliot Moss on A Change in Diet
Eleven – Khalid on Eleven – Single
Father’s Son – Declan J Donovan on Homesick – EP
Phases (feat. Trove) – Go-Jo on Phases (feat. Trove) – Single
Don Sakers
This is… the most fun piece of cyberpunk I’ve read. I was going to add a qualifier to that, but in trying to come up with one, I realized it doesn’t need one; it’s just the best one.
Unlike most cyberpunk, it doesn’t feel dated by the technology. Sure, it’s set in the future, which helps, but it’s set in a future that feels like a reasonable future based on our current technology, not based on the 1980s.
The setting is fascinating: the world map has been severely redrawn, most noticeably by the USA splitting into several pieces, and by the fledgling African Union actually taking off and becoming a (if not the) world power. At the same time, however, those national divides have become less important, with the UN finally taking over global police actions, aided by a technocratic NGO, the Nexus.
The protagonist is a Nexus operative, and as the story goes on you find out he’s veritable royalty — his father a founding member of Umoji, the African economic union, his grandmother the person whose ideas gave birth to the Nexus, and a few other fun surprised along the way. (I won’t spoil any more than that, it truly was fun finding things out as I went.)
Throw in the global economy being run by AIs, a well-explained split between AR and VR, and a space program based on a mix of ion thrusters and orbital velocity cannons paired with gigawatt-laser-pumped-solar-sails, and I am sold on this setting.
I’m interested to read more of this — I’m reading the Worlds Afire omnibus, which includes three books in the series, if I’m remembering correctly. However, the series isn’t just in this one era, it’s apparently operating on a truly enormous scale, so it’s very possible that the events of the next book will be more than a billion years removed from what I just read.
As long as the next is further into the future, though, I can reasonably expect to see at least historical references to the characters here — the results of the plot certainly feel big enough that they’d carry a long ways throughout human history.
If I’ve sold you on this book now, which I rather hope I have, because it’s a delight, you can go grab the omnibus.
Richard Roberts
This is another book that I put off reading for a while. I knew going in that it was the last in the series — Roberts’ blog made that pretty clear — and then, shortly after I bought it, his publisher went under (or something? I’m unclear) and seemed to pretty effectively tank any hope for future works in the amazing world he’s built here.1
And that’s what always shines to me about his books: the world-building. Roberts has a gift for showing without telling, and manages to perfect balance explaining a little bit and leaving a bit to the imagination. One of my favorite scenes in “… You Believe Her” was Penny, sitting on a train, watching a couple boys study. It’s just that one of them was using his telekinesis to levitate the book instead of holding it with his hands. And she goes off on a little tangent, thinking about the statistics of superpowers, and we find out that the superheroes and supervillains are the statistical outliers, while there are also sorts of normal people who use their powers to… not wear spandex and beat each other up. To study. To do their jobs. To make music, or build cool computers.
That’s what I love about the series. It’s a great big world, and Roberts wants to follow the same “but what about-“ trail of implications that I always do.
It’s also hilarious, if my gushing over the world building hasn’t sold you. This book introduces Gerty the Animatronic Goat, who I described to my friend as “the single best comic-relief character I’ve ever read.” It’s silly, and wholesome, and my jaw is a little sore from how much I smiled while I was reading the book.
And the thing is, Gerty is present throughout the book, and it’s necessary. She’s comic relief, because what’s actually happening in the plot is heavy. It’s probably a requirement to read the previous book first, to be able to follow what’s going on, as it starts off pretty in the middle of things.
It’s dark and sad, and happy and silly. It’s an excellent read. Check it out.2
Casey McQuiston
I put off reading this one for a while, because it seemed like it was going to be dumb and fluffy, the sort of thing I like to save for when I’m stressed and need something easy and happy. And I’m quite happy to have been wrong about it, in part: while it’s certainly fluffy, it’s less dumb than I was expecting. Sure, the protagonist spends a bit too long not quite grasping what’s going on, but that actually gets turned around pretty well later on. And it’s a surprisingly good political novel, too — the backdrop of “being the son of the President” isn’t left as window-dressing, instead becoming a significant driver of the plot.
The cast is delightful — there’s a good deal of family drama going on, and it feels real, and rough at times.
All in all, I loved this book — stayed up too late reading it, laughed the way through, and would happily read it again. I can heartily recommend it.
Eileen Welsome
I’m not sure what it says about me that all of my nonfiction reading is about the Cold War, but here we are again.
The funny thing about this book — and there isn’t much of that, because it’s a detailed account of some truly horrible things — is what did and didn’t stick in my mind. A lot of the book was about trying to humanize the victims of the experiments, and that aspect didn’t really land for me. The actual experiments, what was done, did stick, to a degree; having just finished my read, the ones I most remember are the prison experiments in Oregon and Washington, the radioactive iron supplements at Vanderbilt, a bit about the total-body irradiation experiments, and, of course, the titular plutonium trials. Some of the accidents also stood out to me — there’s a discussion of a man who took a plutonium criticality to the face, and the summary of how thoroughly screwed you are by that is that, when he threw up on the floor of the hospital an hour or two later, after they’d cleaned the floor, they had to get out a geiger counter to check if it was safe for anyone to walk there. (He didn’t survive; to add insult to horrible injury, his body was then parceled out to labs around the country, without the permission or knowledge of his next of kin.)
There were also a couple figures, dropped in as part of an anecdote in the portion of the book about the pilots who flew planes through mushroom clouds to measure their effects, that lodged in my head pretty effectively.
The first set of tests after WWII ended were called Operation Crossroads. The second of these was an underwater detonation; I’ve heard the story before that, during the explosion, a Japanese battleship was thrown — 30,000 tons of metal, launched out of the water. (I’ve been trying to confirm this story in writing this, but haven’t found any clear evidence either way, so I’m going to call it apocryphal and move on.)
This story, though, was from the Castle series, Castle Bravo, the first thermonuclear weapon test. 15 megatons of TNT; while it wasn’t a useable weapon — the device was the size of a small building, and had to be constructed in-place on the ‘target’ island — it was mind-boggling in scale. Because, 15 megatons of TNT, that’s… a number. But what the book described was a 20-mile-wide column of water and mud, 45,000 feet tall. Again, mind-boggling in scale, but slightly easier to conceptualize; just imagine a mountain, and then… make it taller.
The figure that truly got to me, though, was the statement that it took hours for the water and mud to finish falling back into the ocean. Hours.
These nuclear tests were also so bright that test animals, 350 miles away, got retinal burns from looking directly at it.
It’s a scale of destruction that I can’t fit in my mind. Humans aren’t equipped to think about this sort of thing.
And it’s not the scariest part, is the thing. Sure, you can erase a city in the blink of an eye.
This is where the book shines: it’s about the radiation, and just how scary and insidious it is. I’ve mentioned before that people aren’t afraid enough of nuclear war; at risk of sounding like a broken record, I’ll say it again. Write your Congresspeople, and advocate for disarmament, everyone.
Time for the Roaring Twenties, round two.
Silhouette by Aquilo on Silhouettes
Cologne by Haux on Something to Remember – EP
Sober by Edwin Raphael on Sober – Single
Coincidental by Betcha on Coincidental – Single
Connor by SYML on SYML
Antidote by Mr Hudson on ANTIDOTE – Single
Falling Down by Harrison Storm on Falling Down – Single
Angel by H. Kenneth on Angel – Single
F**k Collingwood by Hayden Calnin on F**k Collingwood – Single
Hey, Ma by Bon Iver on Hey, Ma – Single
Haunted by Saint Claire on Haunted – Single
Crying at the Party by Harry Strange on Crying at the Party – EP
Something About You by Elderbrook & Rudimental on Something About You – Single
Cars at Night by By The Coast on Cars at Night – Single
Barrio by Mahmood on Barrio – Single
On Our Last Day by Hayden Calnin on A Life You Would Choose – EP
Tonight – Thorin Loeks on Tonight – Single
I’ll Get You Home by By The Coast on I’ll Get You Home / World to Ourselves – Single
Beyond the View by Chance Peña on Beyond the View – Single
Cover Your Eyes by Black Match on Cover Your Eyes – Single
sex by EDEN on i think you think too much of me
Hard Lines, Hard Times by William Wild on Hard Lines, Hard Times – Single
Tourner dans le vide (Slowed) by Unge Moped & Tuber on Tourner dans le vide : Man slowed down – Single
Chiasso – Random on Chiasso – Single
Without Fear – Dermot Kennedy on Without Fear
Giving in to You – Freddie Future on Freddie Future
Ride It – Regard on Ride It – Single1
Hollow Coves – Firewoodisland on Hollow Coves – Single
On the Other Side – Blanco White on On the Other Side – Single
Edge of the Ocean – By The Coast on You
Neptune – Sleeping At Last on Atlas: Space 2 – EP
Hanging On – Quinn Lewis on Hanging On – Single
909 – EDEN on 909 – Single
Soldi – Mahmood on Gioventù bruciata
Drive – OTR & Panama on Drive – Single
untitled – EDEN on untitled – Single
everything i wanted – Billie Eilish on everything i wanted – Single
More Than Friends – Andrey Azizov & Panama on More Than Friends – Single
You & I – Harrison Storm on You & I – Single
anxiety & mixed emotions – Chance Peña on anxiety & mixed emotions – EP
It Gets Better – Rex Orange County on Pony
Symmetry – SYML on Symmetry – Single
Dolly Zoom – Elliot Moss on Boomerang2
Closedloop – Elliot Moss on Boomerang
Everything Changes – Phillip LaRue on Fall-In – Single
Don’t Take the Money – Harry Strange on Don’t Take the Money – Single
On Melancholy Hill – Riley Pearce on On Melancholy Hill – Single
Push My Luck – The Chainsmokers on Push My Luck – Single
20 Something – Alexander 23 on I’m Sorry I Love You
Hope – Balcony on Hope – Single
Blue Tide Eyes – FLØRE on Blue Tide Eyes – Single
Bravado – Yoke Lore on Bravado / Body Parts – Single
Tightrope – Danny Bowens on Tightrope – Single
When I Need a Friend – Coldplay on Everyday Life3
How Long Can I Keep Waiting – Imaginary Future on How Long Can I Keep Waiting – Single
Pronto Llegará – C. Tangana & Darell on Pronto Llegará – Single
This is Where it Ends – Richard Walters on This is Where it Ends – Single4
Back Around – Harry Strange on Back Around – Single
Dead Ringer – Yoke Lore on Dead Ringer – Single
Monsters – Lucy Daydream on Monsters – Single
I Will Love You for Good – A Year on Earth on I Will Love You for Good – Single
Disarray – Low on Double Negative5
Borders – Nathan Ball on Borders – Single
Roses (feat. ROZES) – The Chainsmokers on Bouquet – EP
Silver + Gold – Elliot Moss on A Change in Diet
Eight – Haux & Rosie Carney on Eight – Single
Need You – Kidswaste on Need You – Single
Raising Hell (feat. Big Freedia) – Kesha on High Road6
Orphans – Coldplay on Everyday Life
Christmas Lights – Joel Adams on Christmas Lights – Single
Daddy – Coldplay on Everyday Life
Chanel – Frank Ocean on Chanel – Single
The Village – Wrabel on The Village – Single7
Movements – Mild Minds on Movements – Single
I Don’t Wanna Die – Betcha on Falling – EP
Swing – Sofi Tukker on Swing – Single8
Ghost – JacobNeverhill on Ghost – Single
Blind – INTET on Blind – Single
Hard Times (Acoustic) – RITUAL & Robinson on Hard Times (Acoustic) – Single
Èkó – Coldplay on Everyday Life
Million Pieces (feat. The Chamber Orchestra of London) – Bastille on Doom Days (This Got Out of Hand Edition)9
What Kind of Love Is Like That – William Fitzsimmons on What Kind of Love Is Like That – Single
Young Minds – Saavan on Observatory – EP
Down – Griffin Stoller on Down – Single
notice me (feat. BENEE) – ROLE MODEL on oh, how perfect – EP
Lucky Me (feat. Great Good Fine Ok) – The Knocks on Summer Series: 2019 – EP
Take Me Apart – SYML on Take Me Apart – Single10
New Day – Benji Lewis on New Day – Single
Apollo – Charles Fauna on Apollo – Single11
Brian Merchant
It’s rather fitting that I’m writing this review on my iPhone. Parts of the book were written on an iPhone, I suspect, and the author mentioned that a good deal of the interview recordings and photos were made on his iPhone.
Structurally, the book is interesting — there are two through lines, and they’ve got the same writing style but different feels. The more story-like one is the historical aspect, going from the beginning of the project through to the keynote where Steve Jobs introduced the world to the iPhone. And it’s a story, for sure: there’s a narrative to it, characters being introduced, politics and inventions, failures and triumphs. It’s the best telling of the story I’ve read so far, though admittedly I don’t think I’ve actually sat down to read the full story before.1
The other part is more of the ‘now’ aspect, which explores the impact of the iPhone as a product, focusing on the manufacturing process. The author tells how he… made his way into the Foxconn plant where iPhones are assembled; predictably gets hacked immediately after arriving at a hacker convention; goes on a claustrophobic tour of a tin mine; under-details an agoraphobic tour of the salt flats that produce most of the lithium used in the iPhone’s battery; and a few other stops along the way.
All told, it’s an interesting read. Some of the historical context was new to me—the history of ARM was inspiring, for example—and while I already knew a lot of things—photos of those lithium flats are pretty striking—I’m glad I took the time to read it. If you’re at all interested in the history, I can recommend the book.
Inspired by CGP Grey’s post that started a Cortex tradition, here’s the current state of my phone:
This is… a work in progress. I got this phone in September, and while it’s been on my mind to do a full reorganization, I haven’t had time to do a full “tear it all down and start from scratch” process. The top two rows, especially, are very temporary — for the first time since iOS 7 came out, I’ve disabled Reduce Motion, and the parallax makes the fake invisible icons trick look terrible.
So rather than go through things in top-to-bottom, right-to-left order, I’m just going to talk about them in whatever order strikes my fancy.
I’m very excited about SwiftUI, and have been using what little free time I have to do some tinkering with it. I started during the beta period, which was fun in between being very frustrating; a lovely side effect was that some of the knowledge I picked up is… entirely wrong. One that caught me was the implementation details for the Picker
type.
Based on the rather rough state of the SwiftUI documentation for Picker
and ForEach
,1 I’d assumed that combining the right binding with a .tag(_:)
on the items would work:
Form {
Picker(selection: $selectedItemID, label: Text("Choose Something") {
ForEach(items){
Text($0.label).tag($0.value)
}
}
Text("You've selected item \(selectedItemID)!")
}
For reference, the models I’m referring to throughout are pretty simple:
struct CustomModel {
let value: Int
let label: String
}
Now this looks like it’s working in simple cases. However, I was trying to interact with a web API, so that items
array looked something like this:
var items: CustomModel[] = [
CustomModel(value: 7, label: "First"),
CustomModel(value: 3, label: "Second"),
CustomModel(value: 1, label: "Third")
]
If you tapped “Second” in the picker that SwiftUI generated, however, the text wouldn’t read “You’ve selected item 3!” like it should; it would be “You’ve selected item 1!”
A bit more tinkering revealed that, instead of pulling the value from the .tag(_:)
on there, it was just using… the index in the ForEach
.2
After some frustrated Googling, utterly despairing of Apple’s documentation, and a lot of StackOverflow searches, I finally figured out the solution:
Form {
Picker(selection: $selectedItemID, label: Text("Choose Something") {
ForEach(items, id: \.value){
Text($0.label).tag($0.value)
}
}
Text("You've selected item \(selectedItemID)!")
}
Quite frankly, I don’t have a good explanation of what’s going on here; last time I was tinkering with Picker
s, the .tag(_:)
provided SwiftUI with the information it needed to do the binding. (When I’ve got more time, I’d like to do another test — now that I’ve got the id
keypath, do I even need the tag
?)
I’d love a good explanation of what all the id
keypath gets used for, and where else it might be necessary, but alas:
As a recent assignment for one of my design classes, we were told to find a website whose design we didn’t like, build a moodboard for a new version of the site, and then create a high-fidelity prototype of the new version of the page we’d called out.
For my uninvited redesign, I selected Calibre’s homepage; I love what Calibre stands for, but I haven’t used it in years, because… well, I’ll just drop in my analysis portion here:
It could use some love, is the short form of it. (After I built that and submitted, I realized I’d forgotten to turn off my content blockers for the screenshot; the unaltered version of the site looks the same, but also features ads along the side, which explains that awkward hanging line in the latter screenshot.)
Next up, build a mood board. This was pretty fun to do – I basically just wandered around, not only the internet, but a nearby library, and my own bookshelves, looking for inspiration. Here’s the result:
I couldn’t not pick Baskerville, c’mon.
The final part of the assignment was to put together our own redesign, using what we’d put together in the mood board. I almost sat down with Sublime and coded it in HTML, because that’s what I do in my day job, and it’d be easy, but made myself use Sketch instead – what better way to learn than by practicing?
That’s the end, right?
Well, no, if you looked at the featured image on this post, you already know I did a bit more. The extra credit portion of the assignment was to do a redesign of a different part of the brand; I opted to do a quick take on “Calibre, if it was designed for macOS”. (For reference, Calibre was designed for/using Qt, which means it looks somewhat out of place… basically everywhere.)
(I would like to clarify – I’m throwing a lot of shade at Calibre here, but I really do respect what it is, does, and stands for. DRM-free ebooks are a very good thing. Support your authors.)
This last bit was, in no small part, just an excuse to play around with the Sketch resources that Apple provides. They’re neat!
Good news: finished all my Christmas shopping! Bad news: now I have to wrap a bunch of things.
Silhouette by Aquilo on Silhouettes
Cologne by Haux on Something to Remember – EP
Sober by Edwin Raphael on Sober – Single
Coincidental by Betcha on Coincidental – Single
How You’ll Be Remembered by Aron Wright on How You’ll Be Remembered – Single
Connor by SYML on SYML
Antidote by Mr Hudson on ANTIDOTE – Single
Falling Down by Harrison Storm on Falling Down – Single
Angel by H. Kenneth on Angel – Single
F**k Collingwood by Hayden Calnin on F**k Collingwood – Single
Bristol by Imaginary Future on Bristol – Single
Hey, Ma by Bon Iver on Hey, Ma – Single
Haunted by Saint Claire on Haunted – Single
Places by Portair on Places – Single
Silence Is Broken by Cal Trask on Silence Is Broken – Single
Cadillac by Joel Ansett on Cadillac – Single
Crying at the Party by Harry Strange on Crying at the Party – EP
Something About You by Elderbrook & Rudimental on Something About You – Single
Cars at Night by By The Coast on Cars at Night – Single
Oblivions by The National on I Am Easy to Find
Electricity by Danny Bowens on Electricity – Single
Fuzzy Teeth by Portair on Fuzzy Teeth – Single
Truths by bobbycrush on Truths – Single
Barrio by Mahmood on Barrio – Single
On Our Last Day by Hayden Calnin on A Life You Would Choose – EP
All We Have Is Now by Ross Copperman on All We Have Is Now – Single
Tonight – Thorin Loeks on Tonight – Single1
Another Little Lie by Nick Wilson on A Face I’ve Never Seen Before – EP
Bikes by FLØRE on Bikes – Single
start over by RVRB on drift – EP
I’ll Get You Home by By The Coast on I’ll Get You Home / World to Ourselves – Single
Carry Me Away by John Mayer on Carry Me Away – Single
Beyond the View by Chance Peña on Beyond the View – Single
Bloody Mary by Lady Gaga on Born This Way (Special Edition)
Cover Your Eyes by Black Match on Cover Your Eyes – Single
Lost by Portair on Lost – Single
Smiling When I Die by Sasha Sloan on Smiling When I Die – Single
sex by EDEN on i think you think too much of me
Hard Lines, Hard Times by William Wild on Hard Lines, Hard Times – Single
Worship by Amber Run on Philophobia
Tourner dans le vide (Slowed) by Unge Moped & Tuber on Tourner dans le vide : Man slowed down – Single
Chiasso – Random on Chiasso – Single
Hold Me Down – James Gillespie on Hold Me Down – Single
Without Fear – Dermot Kennedy on Without Fear
Giving in to You – Freddie Future on Freddie Future
We Never Die (Acoustic) – Juke Ross on We Never Die (Acoustic) – Single
Fade into Myself – Mattis on Fade into Myself – Single
Ride It – Regard on Ride It – Single
Hollow Coves – Firewoodisland on Hollow Coves – Single2
Slipping Off the Edge – Joel Adams on Slipping Off the Edge – Single
Hold Me Down – YOKE LORE on NOON // 1873
Perfect Sphere (Bubble) – The Early November on Lilac
On the Other Side – Blanco White on On the Other Side – Single
Edge of the Ocean – By The Coast on You4
Bad Dream – Vancouver Sleep Clinic on Bad Dream – Single5
Diamond Days – Elephante on Diamond Days – Single
Neptune – Sleeping At Last on Atlas: Space 2 – EP
Hanging On – Quinn Lewis on Hanging On – Single
Wanted – OneRepublic on Wanted – Single
909 – EDEN on 909 – Single6
Wasted Time – Juke Ross on Wasted Time – Single
Chasing Cars (Reworked) – Snow Patrol on Reworked
Soldi – Mahmood on Gioventù bruciata
Drive – OTR & Panama on Drive – Single
Do You Ever? – Phil Good on Do You Ever? – Single
untitled – EDEN on untitled – Single
everything i wanted – Billie Eilish on everything i wanted – Single7
More Than Friends – Andrey Azizov & Panama on More Than Friends – Single
You & I – Harrison Storm on You & I – Single
anxiety & mixed emotions – Chance Peña on anxiety & mixed emotions – EP8
Say It Again – AJ Mitchell on Say It Again – Single
It Gets Better – Rex Orange County on Pony
Hate Me – Ellie Goulding & Juice WRLD on Hate Me – Single
Symmetry – SYML on Symmetry – Single9
Dolly Zoom – Elliot Moss on Boomerang10
Closedloop – Elliot Moss on Boomerang
Everything Changes – Phillip LaRue on Fall-In – Single
Don’t Take the Money – Harry Strange on Don’t Take the Money – Single11
Roman Holiday – The National on I Am Easy to Find
No Te Debí Besar – C. Tangana, Paloma Mami & Alizzz on No Te Debí Besar – Single
On Melancholy Hill – Riley Pearce on On Melancholy Hill – Single12
Push My Luck – The Chainsmokers on Push My Luck – Single
20 Something – Alexander 23 on I’m Sorry I Love You
Hope – Balcony on Hope – Single
No One Knows Us (feat. Carly Paige) [Acoustic] – BANNERS on No One Knows Us (Acoustic) [feat. Carly Paige] – Single