Oz Profile
Oz

@oznova_

4,811
Followers
572
Following
258
Media
3,182
Statuses

Computer science educator and homeschool dad. Currently building

Joined November 2007
Don't wanna be here? Send us removal request.
@oznova_
Oz
6 months
I'm excited to announce that CS Primer is now generally available! Thank you to all of the wonderfully supportive beta users
14
56
391
@oznova_
Oz
8 years
I wrote what I hope will be the definitive guide for teaching yourself computer science:
13
128
344
@oznova_
Oz
6 years
I'm in awe of a former student I spoke to yesterday, who quit his product engineering job 6 months ago to self study quantum computing. Since then he presented novel work at a major conference and got a job at an exciting quantum computing company. Amazing stuff.
4
13
268
@oznova_
Oz
2 years
Don't worry, it's impossible for AI to eliminate coding, because fortran already did so in the late 50s
Tweet media one
2
50
236
@oznova_
Oz
9 months
FYI there's a programmer's calculator built in to macOS... just ⌘3 in the Calculator app
Tweet media one
10
20
181
@oznova_
Oz
2 years
📢 today I'm releasing , a self-paced CS curriculum and platform designed for software engineers. If you're looking for something more interactive than working through textbooks, or can't join Bradfield due to cost/timezone, this may be for you!
9
31
180
@oznova_
Oz
6 months
@jeremyphoward I hadn't heard of Bebras! Thanks for sharing. One of my kids loves these kinds of problems so it's nice to have an archive of past competitions to work through
2
0
126
@oznova_
Oz
1 year
A thread of quirky little learning resources, mostly for CS/programming/math but we'll see where I go with it! Please chime in with suggestions.
9
28
115
@oznova_
Oz
7 months
If you're a dad you should really watch Bluey. I had to be told this a number of times before I gave it an honest try, so I thought I'd at least pass on the message. This is me trying to articulate to my wife why the latest episode wrecked me:
Tweet media one
5
8
112
@oznova_
Oz
1 year
Agree, and more generally: CS is best taught well *after* programming... ideally after 2-5 years of daily coding, for most people. Imagine if people learnt tennis by going to school for 4 years before seriously hitting the ball. p.s. Madison is using :)
5
3
86
@oznova_
Oz
2 months
A @csprimer student asked how to make fewer mistakes when implementing algorithms. This is what I came up with. What would you add?
Tweet media one
7
8
83
@oznova_
Oz
2 years
I loved programming as a kid. My dad told me not to bother, because all the jobs were going to Japan. I listened and even tried learning Japanese in high school. I found my way back eventually, but lost over a decade of momentum. Don’t listen to the GPT takes, kids!
4
5
81
@oznova_
Oz
2 years
Is it egocentric of me to think that might be a major reason for this?
Tweet media one
9
3
74
@oznova_
Oz
2 years
Few resources will "teach you" anything, but you can still *learn from* them. Two approaches that stuck with me: "just try the exercises first" ( @balajis on textbooks) and "treat every proof as an invitation to prove" ( @michael_nielsen on math papers)
3
7
73
@oznova_
Oz
7 months
@patio11 It's funny that native English speakers have basically the same complaint about languages that use cases instead of word order
1
0
72
@oznova_
Oz
7 years
@sehurlburt In around 2hrs you can teach someone enough number theory to re-invent RSA. Don't need any more than middle school algebra going in, but by the end of it you've (re)created something as impressive as it is beautiful.
6
2
68
@oznova_
Oz
1 year
Finally finished this project: a full brick pizza oven. It was my first time pouring concrete, bricklaying, rendering and tiling (thanks youtube!) and I didn't really have the time for it, so did it a few bricks at a time over a year.
Tweet media one
8
0
70
@oznova_
Oz
7 years
I keep ranting about this in person, so figured I'd blog-rant it to save my voice
4
50
68
@oznova_
Oz
5 years
Some major Bradfield news: as of 6 months from now, all classes will be online via Zoom. Some rationale here for the curious: So if you've been wanting to take a course in person with me in San Francisco, you have 6 months!
6
8
59
@oznova_
Oz
28 days
This prompted me to think through some other provocative "teach X before Y" ideas... I'm not fully sold on these but generally think they're better or at least worth trying: - Programming before math - Typing before writing - Integration before differentiation - Computer systems
@mbateman
Matt Bateman
28 days
I’ve always bought the “writing before reading” approach to literacy on the merits of general arguments and evidence, but seeing it play out with my child, it is even better than I thought it would be.
17
22
964
2
4
59
@oznova_
Oz
3 years
@liminal_warmth Inter-human knowledge transfer is stupidly inefficient. Only 1 human should have to learn a thing “the hard way”… the rest should get it ~free. Atm it’s not even certain that one generation will retain skills of previous. Fixing this would be a lever for all other suggestions
6
2
59
@oznova_
Oz
1 year
The scale of what I'm trying to do is starting to dawn on me... this week I produced 4 hours of video on DNS: a client implementation walkthrough and a bunch of supplementary explainers. This could be a course in itself, yet it's just 1 of 50 planned modules of CS Primer.
Tweet media one
1
1
56
@oznova_
Oz
2 years
Crazy how lucky my mother and grandma were to survive the earthquakes in Turkey. Eg a wall fell on grandma but she only broke some ribs. The doors and windows jammed but they miraculously escaped via this hole. Roads were blocked but they found a way out, etc.
Tweet media one
6
0
56
@oznova_
Oz
7 years
I teach computer science, mostly to working software engineers who didn't major in CS. Happy to help with learning plans and resource suggestions, career advice etc. DMs open.
2
3
56
@oznova_
Oz
3 months
I recommend this book a lot and people wonder if I'm confusing it with something else, so I recorded this to clarify:
@Madisonkanna
Madison
3 months
this book has made me a better developer, one of my favorites. re-reading this today in the sunshine what’s everyone up to this weekend?
Tweet media one
77
339
6K
0
6
54
@oznova_
Oz
1 year
I'm proud of all my students, but today I had the distinct pleasure of investing in a company started by one of my first, and I can't stop smiling 😁
1
0
53
@oznova_
Oz
1 year
My new favorite beach is "the beach", a plane spotting location next to Sydney airport. Had no idea it existed until the kids started crying that they "needed" planes, and here we are
Tweet media one
6
2
49
@oznova_
Oz
5 years
I just deployed the first major update to in 4 years. Here are some highlights:
5
6
52
@oznova_
Oz
3 years
I'm designing an absurdly ambitious course, trying to cover introductory topics in computer architecture, compilers, OSes, networking and databases all in 8 weeks (32 hours total) intended for experienced SWEs with little/no CS background. What do you think?
Tweet media one
5
4
50
@oznova_
Oz
5 years
Big news! 🚨 Today we launch the Computer Science Intensive: a 12 month live online program for early-to-mid career software engineers. If you're a self-taught SWE or bootcamp grad considering going back to school for CS, you should do this instead 😀
8
8
49
@oznova_
Oz
6 years
Reclining desks are like standing desks except horizontal and actually pleasant.
Tweet media one
3
0
49
@oznova_
Oz
2 years
Good framing. You are a SWE, not a “rails dev” or whatever. Anything programmable is in scope. Your ultimate interfaces are humans on one end and physics on the other.
@cglee
Chris Lee
2 years
The job of a SWE is problem solving and not task performance. This is unlike most jobs that are under threat from automation (eg, delivery drivers). Transitioning to a SWE career implies signing up for a lifetime of solving progressively more difficult/interesting problems.
3
6
47
1
1
47
@oznova_
Oz
6 years
Xavier's Engineering Leadership course is truly excellent, but I'd love to see more participants from backgrounds traditionally underrepresented in management. So, I'm putting $20,000 toward free tuition over the next 6 months for the right folk 🚀 Email me: oz @bradfieldcs .com
@xshay
Xavier Shay
6 years
The first one went really well, so I'm running another round of my eng manager course in July: Small group, in-person, intensive training and development for managers in SF! Capped at 8, and we had a wait list last time.
2
5
13
2
45
48
@oznova_
Oz
6 years
UDP has to be my favorite network protocol: 🚀 Designed to have far *fewer* features than the competition 🚀 3 page RFC published in 1980 and never updated 🚀 Entire feature set is obvious from an 8 byte header 🚀 Enables some of the most novel layer 7 protocols, QUIC etc
2
12
46
@oznova_
Oz
6 years
This is much less common than going back to school to make a career pivot, and I'm sure much scarier. But I've seen similarly spectacular moves a few times among students. Just takes courage and a level of interest bordering on obsession.
2
0
47
@oznova_
Oz
2 years
Just got an email along the lines of "three of the highest impact engineers at this $1 B+ company just happen to be Bradfield grads"! Now to keep this up until it's true of every company :)
2
0
46
@oznova_
Oz
1 year
Two decades on, I still get frequent nightmares about late assignments and going in to exams unprepared. Despite genuinely loving math and science in particular, I will apparently never escape the trauma of having been forced to do it the "school" way
4
2
43
@oznova_
Oz
1 year
Not really sure how to describe what I'm looking for... but is there a curriculum that *motivates* science through engineering/technology projects? e.g. start with metallurgy, ceramics, agriculture etc and introduce science as the value starts to become clearer?
8
8
45
@oznova_
Oz
5 years
In an effort to raise the overall standard of CS education outside of universities, I’m excited to announce that we’ll be waiving tuition for anyone who teaches programming or CS
1
24
45
@oznova_
Oz
1 year
How do you personally reconcile these? Hamming: "you must work on the most important problem in your field" Feynman: "the Nobel stuff started from piddling around with wobbling plates"
10
0
43
@oznova_
Oz
1 year
Only 24 more to reach a major milestone!
Tweet media one
2
0
42
@oznova_
Oz
1 year
One idea I can't stop thinking about is an online dojo style training program for early/mid career SWEs: - Regular sessions 2-3 times/week - I pose problems, watch everyone solve live - I jump in to help 1-on-1 or discuss common issues with group Anybody doing this?
11
0
42
@oznova_
Oz
2 years
Small 🧠: knowing about big O Big 🧠: realizing that calling sscanf in a loop will be O(n^2) Galaxy 🧠: injecting a .dll into GTA that simply caches strlen calls, to reduce GTA Online load time by 7 seconds (can't tell you how many times I've shared this
0
4
39
@oznova_
Oz
6 months
This is a good mantra! We imagine that computers are as complex as e.g. biological organisms but they actually work by simple deterministic rules designed by mortals. Almost any behavior can be observed directly with simple, free tools. The main barrier is mindset.
@almostnora
N.O.R.A
6 months
daily affirmation "computer can be understood"
2
5
21
0
4
39
@oznova_
Oz
7 years
How much would Euclid have paid to read a single paragraph of The Princeton Companion? Surely even Gauss would have made a Faustian pact to see a few chapters. But you could have all 1000+ pages of it for the price of a nice meal.
0
16
39
@oznova_
Oz
2 years
If you're a past, current or potential future student of mine and I don't yet follow you here, please let me know (e.g. like or reply to this) and I will fix!
10
0
38
@oznova_
Oz
2 years
I've now heard from *a lot* of people that this particular article is what motivated them to move from routine web work to something more meaningful to them:
2
1
38
@oznova_
Oz
7 months
A common question: is it better to learn bottom up (starting with foundational "pre-requisites") or top down (starting with motivating applications)? My best current answer: when riding a bike, it's best to pedal with both legs.
4
1
38
@oznova_
Oz
7 years
@mike_acton 's amazing CppCon talk is literally required viewing for our comp arch course . you should watch it too.
1
7
34
@oznova_
Oz
2 years
@erenbali Thank you for taking the time to tweet this. My mother is visiting Antakya right now and I heard about this through you. We have not been able to make contact yet, hopefully soon.
4
0
32
@oznova_
Oz
2 years
A few students recently asked for suggestions for how to "stay consistent". I wrote up some thoughts here:
4
1
35
@oznova_
Oz
11 months
I'm trying to get a discord going of dads who are thoughtful about their kids education. Let me know if this speaks to you!
15
0
36
@oznova_
Oz
2 years
@benedictevans The way you're able to anticipate comments to generate humor like this is 👌
1
1
35
@oznova_
Oz
6 months
View from my living room this morning
3
0
35
@oznova_
Oz
2 years
A lesson I’ve learnt from jiu jitsu that I should try to apply more broadly: it is a gift to have your ego crushed.
2
3
34
@oznova_
Oz
2 years
Starting to collect testimonials for my new thing and I have to say this kind of thing is good motivation to keep going!
Tweet media one
2
2
34
@oznova_
Oz
6 years
Everything I know about software engineering can be boiled down to "understand the problem before you try to solve it".
0
12
34
@oznova_
Oz
2 years
My new favorite Discord channel is just a continuous stream of people having fun learning computer science
Tweet media one
0
3
33
@oznova_
Oz
6 months
In fact, this video is 20 minutes and explains why some decimals can't be precisely represented as floats, using 0.1 + 0.2 as an example. I walk through the bit packing scheme bit by bit to show you
1
4
34
@oznova_
Oz
2 years
I'm very impressed by GPT-4, but I'm not using it to answer technical questions... its only advantage is ease: otherwise you get an answer that might be wrong, with no means to verify, and you're not actually getting any better at problem solving.
Tweet media one
3
1
34
@oznova_
Oz
4 months
I wrote a little about how we're homeschooling, to see who else is out there doing things similarly :)
Tweet media one
6
0
34
@oznova_
Oz
1 year
Same chair 4 years later
Tweet media one
@oznova_
Oz
6 years
Reclining desks are like standing desks except horizontal and actually pleasant.
Tweet media one
3
0
49
1
0
31
@oznova_
Oz
4 years
Imagine a databases course where instead of having concepts explained to you on slides, you get to step through PostgreSQL in lldb and discuss stack traces etc. Wait, that's actually how @robot__dreams teaches it now :)
Tweet media one
1
2
34
@oznova_
Oz
2 years
I'm noticing that a lot of people who struggle to learn much from MOOCs and textbooks think they need more "structure" when often all they need are better feedback loops
3
1
31
@oznova_
Oz
2 years
Sometimes I'm surprised that I have student making $500K/year ... then I realize they're in roles that could save/make their employers many multiples of that. These software businesses are just immense and there aren't enough SWEs who really know what they're doing.
0
1
31
@oznova_
Oz
6 months
It takes maybe 20 minutes to understand floating point (and why this kind of thing is expected) but a lot of people would rather complain cluelessly
@theo
Theo - t3.gg
6 months
Good news: `Math.sum` is coming to JS as a way to do more precise floating point math Bad news:
Tweet media one
90
175
5K
2
4
32
@oznova_
Oz
9 months
@melissa @anabology We didn't do it intentionally at all but ended up at a similar place. We like books and don't have a TV, so the girls just pick up books for entertainment and figure that's normal. Not quite "lofi girl" but sometimes we watch Ishitani Furniture on YouTube, as well as this group
1
0
28
@oznova_
Oz
2 years
There's a student on a 4 day "self-imposed Carmack style retreat" doing as much as he can. So far he's done more than a dozen problems including a hashmap implementation in C, a simple DNS client and an HTTP proxy. I think he's 2 days in. Just fantastic!
2
0
31
@oznova_
Oz
3 years
This stuff works
Tweet media one
3
3
30
@oznova_
Oz
2 years
FAQ Q: I'm an experienced Python [JavaScript/Ruby etc] dev but have plateaued. How should I progress? A: Learn C, start reading the CPython source, alternatively explore your OS or DB internals... you have diminishing returns at your current abstraction layer so peel it back.
1
2
30
@oznova_
Oz
3 years
I've always been focused on helping students *actually learn stuff* rather than get raises etc, but incidentally one student just got an offer for almost 5x his current salary as a mid-career engineer 🤯
1
0
30
@oznova_
Oz
2 years
Before you get too excited about "AI disrupting education" don't forget that we're still teaching kids long division, barely using calculators in class (let alone numpy etc) and generally spending 12 years teaching math that's promptly forgotten by almost everyone.
1
2
30
@oznova_
Oz
2 years
Yes. One of the biggest mysteries to me of web dev culture is why so many are voluntarily making their systems unnecessarily more distributed: microservices, third party services for everything, multiple data stores, Spark on small data, GraphQL... almost always bad decisions
@trishume
Tristan Hume
2 years
@geoffreylitt My enumeration of all the ways distributed systems kill productivity:
4
3
32
5
0
30
@oznova_
Oz
4 years
Sad to be leaving SF at the end of June. It's the one place where people seem more interested in what you're making than in your background/education/nationality.
Tweet media one
4
2
29
@oznova_
Oz
2 years
People are asking me whether it's still worth learning systems-focused computer science if the next period is defined by ML... as if it's possible to escape this stuff! If anything web dev is a blip, where network latency *conceals the cost* of ignoring systems.
Tweet media one
5
0
29
@oznova_
Oz
1 year
One nice thing about winter here is that the kangaroos graze closer to the house in search of greener pastures
Tweet media one
0
0
28
@oznova_
Oz
5 years
You probably use /etc/hosts to block distracting websites. Did you know that prior to DNS, this file would contain all the hostname -> IP address bindings on the internet?
1
5
29
@oznova_
Oz
16 days
One of my favorite Grant Sanderson videos yet: Notice: - He is not a SWE but needs a very high degree of programming competence to be successful - All his skills had to be contained in one person, not spread across a team Two trends, I believe.
0
2
30
@oznova_
Oz
2 years
It's pretty cool that a guy I knew of as "one of the best JavaScript developers in Sydney" when I started my career is now a billionaire. He shows up on those "rich lists" in Australia alongside a bunch of people whose parents were mining magnates or whatever.
2
0
27
@oznova_
Oz
1 year
Expert Python programming is C programming. Ultimately, Python is just a very large C library that you need to understand and work around/with not just on top of.
@gdb
Greg Brockman
1 year
Much of modern ML engineering is making Python not be your bottleneck.
96
134
2K
1
2
25
@oznova_
Oz
1 year
Outrageously bad list... not a single overlap with some of the clear best in this category: - Dream Machine - Masters of Doom - Soul of a New Machine - Showstopper - The Making of Prince of Persia - Programmers at Work - Dealers of Lightning - The Idea Factory - ... many more
2
2
26
@oznova_
Oz
2 years
Interesting thing that many new users tell me: "I should really know this already because I [did a CS degree / have 10 years experience / did a bunch of MOOCs]" ... look it's not your fault! Most ways to learn this stuff are just not effective.
1
0
26
@oznova_
Oz
11 months
Posting this with minimal context to see who the universe sends my way. Maybe you?
Tweet media one
1
3
27
@oznova_
Oz
2 years
Sometimes I get frustrated waiting a few hundred ms for tab completion over SSH... then I remember that my humble \t byte has to be wrapped in a TCP header in an IP header then various link layer headers over a dozen or more hops, for a 12,000km trip to the DC in CA. Go tab go!
1
0
27
@oznova_
Oz
4 days
@math_rachel An example: our 5.5 yo currently does a lot of Scratch coding. At the end of last term of Scouts, the kids were asked what activities they'd like to do this term, and she suggested "make a computer game". Not a single person, including the adults, understood what she meant,
2
3
33
@oznova_
Oz
6 months
Vlad is not saying this idly... he has solved almost all of the problems on the platform
@vladnineplusone
Vlad Ten
6 months
The best place on the internet to learn computer science fundamentals
0
2
42
0
2
27
@oznova_
Oz
1 year
I still remember some of the first programs I wrote around 30 years ago (!!) and the joy of getting the computer to do things. It's nice to see that the feeling is universal (or at least, genetic?) ... I'll do what I can to keep it going indefinitely :)
Tweet media one
0
0
25
@oznova_
Oz
1 year
One of my favorite things about writing is that I keep getting out of the blue emails about new translations. Now in Kyrgyz! This makes 16.
0
1
26
@oznova_
Oz
2 years
There is ONE good illustration of the ASCII table, below, from 1967. Since then, people have produced 100s of inferior ones. What makes them do this!? None of the other image search results show why A | 0x20 is a, or why ^C sends sigint, or why shift+1 is !, or...
Tweet media one
2
1
25
@oznova_
Oz
3 years
I'm putting together a series of programming exercises designed to incidentally teach undergraduate level computer science (focused on systems). What would you include?
4
0
24
@oznova_
Oz
5 years
People often ask me the best way to learn language X. IMO it's the same for all X: find a suitable problem set (e.g. exercism or Project Euler) and start solving them! Use and as references as needed.
2
1
24
@oznova_
Oz
2 years
I've been reflecting today on how nice it's been to work on the same thing for a while... For one, it means I've had the pleasure of watching my earliest students flourish, like CJ (who would have been fresh out of a bootcamp in 2015 when I first started teaching him)
Tweet media one
3
1
25
@oznova_
Oz
4 years
has now been translated into Spanish and Vietnamese (in addition to the existing Chinese, Russian and Portuguese). Thanks James Archbold and Dat Hoang!
4
3
25
@oznova_
Oz
3 years
My perfectly benign (and apparently useful, popular) website is being blocked in India. I'd love any pointers as to why this might be happening and how to get it fixed!
10
5
25
@oznova_
Oz
1 year
It works
1
0
24
@oznova_
Oz
1 year
A truism of education that just doesn't fit the structure of school: do more of whatever's working. If you're successfully learning basically anything, you should keep going, not be shuffled off to the next class/topic/semester/etc.
2
4
23
@oznova_
Oz
2 years
Some pics of an in-progress Midjourney assisted redesign (left is before, right is after). Yes, a human designer might have done better, but would have taken weeks not hours, and charged a lot more than $60/month
Tweet media one
Tweet media two
2
2
24
@oznova_
Oz
4 years
From a student just now: "Sorry I can't make class today! p.s. if Azure isn't working for you, I am working on it"
1
0
23