“She”. The gag of SwiftOnSecurity is it’s Taylor Swift, posting infosec. Tho these days she mostly trolls like this.
See also @mdhughes@appdot.net
“She”. The gag of SwiftOnSecurity is it’s Taylor Swift, posting infosec. Tho these days she mostly trolls like this.
I can close my eyes and remember it, so yes.
It’s clearly secondary to correctness: A program that is well-written but doesn’t work right is worthless. Many hairy balls of mud have shipped to great acclaim.
Human readability & comprehension is nice for maintenance, but you don’t get to maintain something that never worked right to begin with.
… Of course, Windows is existence proof that you can be successful with neither.
Yes. It’s Apple’s second most profitable platform. If I go out to a café (which admittedly was before pandemic), half the people have one, much more than laptops now. In business, it’s a super common way to take around documents, presentations, etc. The kids really love them.
I’ve been in love with it since launch, it’s a magic book.
Maybe you’ve heard of this device that plays music on tiny headphones, great for listening while walking. It was called a Walkman. Came out in 1979. By the time the iPod came out, there were plenty of digital music players; I carried a Rio Volt (CD-ROM full of MP3s), but the Nomad was the one CmdrTaco compared iPod to.
Many people carried Palm Pilots, Newtons, cell phones, pagers, portable games (GameBoy, Game Gear, Lynx), film & digital cameras. I used to carry so many gadgets. Sharp/Tandy PC-3 was a great little calculator/computer, so was HP-35s.
Apple’s done an amazing job of making vastly better versions (eventually, in some cases; I waited for gen 3 iPod with USB), and folding multiple things into a device, and competing with themselves. So now most of those devices are gone, and we just carry an iPhone (or lame knockoff). I have a bunch of portable game devices, which live on my desk because why carry them? iPad rolled over the MacBook for portable computing. And now Vision Pro is going to roll over that (in a couple versions, probably).
The “one-hit wonder” assertion just requires someone to have lived a cave since 2006.
They’ve only (in this century) produced a new product people take with them once, iPod. Except for the iPhone. MacBook Air. iPad. Apple Watch. AirPods.
So you’re 16% correct, and falling.
Aggressive dialogs begging for my email = close tab. I don’t care what your excuse is.
Also, 404 (Not Found) is the dumbest name for any site ever, so I’m just as glad to see it go away.
Scheme, and work through SICP, watch the lectures along with the reading.
I prefer Chez Scheme but there’s many implementations. Chez’s fast and practical, C FFI, large standard library, nice REPL with editor.
Budget’s about half what it should be, but Keychron makes really great mech keyboards, you can pick a range of switches (I use Gateron Red, clicky but not too stiff; YMMV).
You should reconsider bluetooth if you can, there is lag in it, and sometimes just random disconnects if there’s interference. USB’s the way to stay fast & stable.
Good programmers - AI = best code.
I’m staying with Vim, mainly because I hate Lua.
Vim9script is fine, I write enough small scripts in it that it hasn’t annoyed me. Vim’s plugins, and NerdTree in particular, make it a perfectly good editor for this millennium as well as the last.
All my career. They can’t program, they have no valid opinion about programming, as long as we finish the user stories. Which is several times faster in a nice dynamic language than a bondage language.
There’s some math & CS papers you should read, Gödel’s incompleteness theorem, Turing’s halting problem. YOU CANNOT prove your way out of logic errors. You cannot make a universal type system. All you’re doing is wasting time with false confidence.
Terrible projects are terrible because of the developers, not because of the language.
I find dynamic projects easier to refactor and fix, just write some tests and if it’s green bar before and after, you’re fine.
Typing can’t prove anything, either. It just creates bugs and crashes.
Your program logic is the part that will not be fixed by it.
Some languages really do suck so much they’re all but unwriteable by plain text, and need constant compiler tree parsing to get right.
But that’s an incentive to quit using bad languages. Write in something you can read and write in ed, and you can hold it in your head.
Strong typing is for weak minds.
You absolutely do not need a computer telling you what types you can put in a collection. Put an assert, write some unit tests, if you aren’t sure where data sources come from and can’t write a one-line comment.
Dynamic typing makes you fast, it’s empowering. Try it and quit being so scared.
Apple Reminders, which I now keep in a widget on my phone & iPad home screens. This is mainly for repeating items, like shopping, since I can turn on “show completed” and then uncheck them to put back on the list.
Or paper notebook, which I normally have in my pocket. This is for more serious things where I need to write some procedure or notes.
Used to use Things, which is great, but it’s overkill for my current needs.
No, you can just download Xcode free from the Mac App Store, or off developer.apple.com. Only the App Store needs the fee.
I have two.
Scheme. It’s a fantastic language, you can cleanly switch from functional, procedural, or weird time machines (macros & continuations) solutions to any problem. Most Schemes (esp. Chez, CHICKEN, Gambit, Gerbil) compile to very fast binaries, close enough to C even with dynamic typing and garbage collection. C FFI depends on impl, but usually it’s pretty simple; in CHICKEN you can just write inline C code. SRFI vary from essential libraries to angels-on-pinheads nonsense, but there’s something to pick from.
Down side is the fractured, infighting community. R6RS was a practical batteries-included spec, which pissed off the teaching-only fans, so they made an inferior R7RS, and now committees are trying to make R7RS-large which is just bad R6RS. But if you pick one, and mostly stick to the spec language, it’s not a problem for the developer.
BASIC. I know, ridiculous, right? And I mean line-numbered, Atari or TRS-80 BASIC. But there was never a better language for teaching programming, or for banging out a small interactive program. Turn on any 8-bit computer (or start an emulator), it prompts
READY
, and you can write something small & interesting. Your modern 64-bit giant machine is notREADY
.