
Daniel Hooper
@DanielcHooper
Followers
9K
Following
1K
Media
160
Statuses
1K
Graphics/low-level/game programmer. Made https://t.co/8vlhOlfcTi. Former Apple Engineer: ・Made the first iOS photo editing tools ・Invented iOS cursor gesture
Joined October 2011
There are actually *no* programming languages that express "how computers work"! Not even C. The operating system runs other programs 'between' your lines. CPUs execute both branches of ifs, and magically run multiple lines of your code at once. Your code is just a suggestion.
@DanielcHooper C is how computers actually work. Learn it and move on to another language if you want.
83
167
3K
After almost two years of work, I'm proud to release @principleapp - a prototyping tool you can love. http://t.co/X50sSJcIoR.
33
135
314
People don't understand that C's limited feature set is GOOD, and not something you grow out of:. • Syntax doesn't hide expensive/complex operations.• Focus on coding and not language trivia.• Compiles fast. No other mainstream language understands this.
@DanielcHooper If you’re looking for very general knowledge as a beginner, C is a great way to learn the fundamentals and problems that come with systems programming. That said, I wouldn’t stick with it once you’re comfortable. Rust and other langs have lots of great features! 😊.
27
24
299
@jisiguo I made the prototype video, but did not work on the implementation at all during my time at Apple. I was on the Photos team.
4
1
187
@fortran_enjoyer This debate's practical implication is that if programmers believe C/assembly are what is really happening in the circuitry then they will miss out on whole classes of performance optimizations.
3
2
146
My 3D Modeler article was #1 on Hacker News and got 20,000 visitors in the first 2 days. Glad people are enjoying it
4
4
136
I've been working on Principle for 4 years now, and every release is a labor of love. It means a lot that designers trust my software with their work and get excited about every release.
Available now: Principle 4, with supercharged video, animation scrubbing, custom curves, a new video exporter, and way more.
6
11
139
Took more than a year of work to create web assembly/webgl versions of all the features that Principle gets "for free" from Core Animation and Core Text - but I'm really happy with the result.
🥳 Principle 6 with Share to Web is out now! Share your designs to Android, Windows, Linux, macOS and iOS with one click! Learn More:
5
10
102
.@austinkleon describes that point as the "Dark night of the soul". Fitting. http://t.co/EHf4z1dpWd.
1
51
96
I hung out in Figma's offices for a little while to get this working, it was my first time working in an office in 4 years! I had to re-learn what volume to speak in an open office plan 😂.
Yes the rumors are true. Principle + Figma are in cahoots 🤠. With our new integration, add advanced animations in @principleapp to bring your Figma designs to life 🐣. Read more:
2
1
93
@FlohOfWoe @DanielcHooper Yes. C is a good model for how assembly works, but assembly is a bad model for how computers work.
1
0
81
@NyxXeres No. You could write a kernel in binary machine code and the CPU would still run instructions out order and prefetch memory, all without your knowledge or control.
4
0
73
This feature is written in C and compiled to web assembly. This is the first release to use arena allocators extensively. Total game changer. It's amazing that a technique as simple as arenas can so profoundly improve both performance and ease of development.
Today we introduce the first in a series of improvements to sharing: Overview Mode!. Explore and examine your designs on Windows, Mac, Linux, Android, and iOS.
3
1
70
@memethanjc @uralbayhan0 Genuine answer: @Freerunnering was inspired to make swipeselection after he saw my video.
1
0
64
@benhouston3d I considered including that in my list, but there are so many variations, inappropriate uses, and complexity, I found it hard to say Databases are just one idea or universally good — It's a hashmap turned to 11.
10
1
61
I ported my quake level viewer from OpenGL to sokol_gfx.h as a test of the library. I love it. Never going back to plain OpenGL. Great work by @FlohOfWoe
3
4
59
Heres the internal presentation mentioning how Swift's type checker design results in long compile times and unintuitive error messages, by the creator of Swift.
New Post: "Apple didn't fix Swift's biggest flaw".I explain why Swift compile times are so bad, according to Swift's creator, Chris Lattner.
1
3
52
If you're interested in hearing Principle's origin story, I talk about it here.
So awesome to chat with @danielchooper about prototyping, design tools, side projects and more @designdetailsfm!
0
5
47
Honored to have @cooper rate @principleapp so highly on their design tools comparison. http://t.co/hXugQ2RV7M
http://t.co/TvW29NsTkS.
2
13
48
@fabiofranchino Theres a difference between the inherent complexity of the problem you're trying to solve, and the artificial complexity you created by the way you wrote the code. The *whole point* of OOP is to break up logic and data into lots of little objects and have them all talk to each.
7
1
46
@FlohOfWoe The CPU also chops up assembly instructions into even smaller bits and runs those.
2
0
42
@meoyawn 1. Add a flag to swiftc that switches off bidirectional type checking. 2. Make a feature that updates existing code with any type annotations that are now necessary to compile. 3. Update all sample code so it compiles with the flag. 4. Enable the flag by default for new.
3
0
36
@Love2Code Depending on the specific microcontroller you might still have a memory hierarchy doing things without your knowledge. But yeah the more exotic stuff with instruction reordering and speculative execution probably won’t be happening behind your back.
1
0
30
@PrometheusHides It's not the operating system that runs your code out of order and executes both branches of your ifs — the chip does that all on its own.
1
0
27
@andy_kelley using Zig for side projects has made working in my main C project almost unbearable. Nice work :).
0
2
27
@zjpea @fortran_enjoyer This talk touches on a few: Sections 5 and 6 in "Computer systems: A programmer's perspective" are good. This course goes even deeper, but you'll have to quit your job and say goodbye to your friends to get through it all.
0
1
27
@samxpatterson "I call it my billion-dollar mistake…At that time, I was designing the first comprehensive type system for references in an object-oriented language. My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the.
0
0
29
We’re looking to hire a graphics programmer to work with us on @PrincipleApp. Description below. DM for additional details. RTs appreciated.
3
16
25
4 of the 5 design tools represented by this 2014 panel no longer exist. Was a crazy time for design tools back then.
@nlevin @jasonfried @Kazanjy Noah, one of my all time fav Design Leaders, ironically ;). I still remember Google Form in 2014 🫶🏽
8
4
30
@PeterAJepson "operating systems" contain many ideas, what specifically is good about them? I picked Processes and Virtural memory.
2
0
27
Apple picked my game Percepto as game of the week in 2011 thanks, in part, because I literally did go door to door on my university campus asking people to play it. Helped find bugs and smooth out the difficulty ramp.
you're having trouble marketing your app. but jehova's witnesses aren't having trouble marketing their religion. have you gone door to door and asked people if they'd be interested in your app? how many sales would you have to do, door to door?. have you really tried??.
1
0
23
@PeterAJepson Ok, yeah I think architecture-agnostic programming language deserves a place on the list.
1
0
24
@datenwolf Yeah I regret including tcp/ip on my list. Wish I had included ideas they use rather than referring to the specific implementation.
1
0
23