HNHacker News
TopNewBestAskShowJobs

brooksbp

658 karma · joined November 19, 2007

submissionscomments
brooksbp··on Age of Empires: Definitive Edition Beta
woot!
brooksbp··on Index Search Algorithms for Databases and Modern CPUs (2010) [pdf]
What tool did you use to create diagrams? They look nice.
brooksbp··on John Carmack Archive – Interviews [pdf]
Masters of Doom is a great book. It's an easy and enjoyable read.
brooksbp··on Uber president Jeff Jones is quitting
I love this thread. TK is loving this. GaryV is loving this too.

Go build an Uber. Do it. Please. I wish you all the successes of this world.

Worry about yourself, not Uber.

brooksbp··on Show HN: Customizing ubuntu for the likes of a developer
Arch Linux.... or another rolling distro.

You get the software releases as quickly as possible.

This empowers you to work with the latest releases and also forces you to be more conscious of what is supported by which software release. In which case you spin up VMs to test out all the other distros / software releases for compatibility concerns.

My 2 cents... Sometimes Ubuntu 14.04 will be perfectly fine for whatever environment you need...

brooksbp··on Ask HN: Who is hiring? (June 2016)
ARM | Austin, TX | full-time

Want to work on high performance networking software for ARM-based server and networking platforms?'

We're looking for software engineers who are comfortable digging into complex systems, identifying optimizations, and working with software and hardware teams to implement solutions.

If you want to make an impact in the software and hardware for mega data centers & tier 1 ISPs all the way down to your home router or SBC, we'd like to hear from you.

Apply here: http://careers.peopleclick.com/careerscp/client_arm/external... or email brian (dot) brooks @ arm (dot) com

brooksbp··on Ask HN: Who is hiring? (November 2015)
ARM | Multiple locations

Care about data structures, algorithms, cache utilization, hardware accelerators, latency & throughput, power consumption, operating systems & virtualization, network protocols & SDN, extensible & robust software, and languages & run-time systems?

Want to work on high performance software for ARM-based server and networking platforms?

We're looking for software engineers who are comfortable digging into complex systems, identifying optimizations, and working with software and hardware teams to implement solutions.

If you want to make an impact in the software and hardware for mega data centers & tier 1 ISPs all the way down to your home router or SBC, we'd like to hear from you.

http://www.arm.com/careers/index.php or contact brooks (dot) brian (at) gmail

brooksbp··on Ask HN: New attempt at mobile markup – keep or bail?
+1
brooksbp··on Ask HN: Who is hiring? (September 2015)
ARM | Multiple locations

Care about data structures, algorithms, cache utilization, hardware accelerators, latency & throughput, power consumption, operating systems & virtualization, network protocols & SDN, extensible & robust software, and languages & run-time systems?

Want to work on high performance software for ARM-based server and networking platforms?

We're looking for software engineers who are comfortable digging into complex systems, identifying optimizations, and working with software and hardware teams to implement solutions.

If you want to make an impact in the software and hardware for mega data centers & tier 1 ISPs all the way down to your home router or SBC, we'd like to hear from you.

Contact: brooks (dot) brian (at) gmail

brooksbp··on Ask HN: Who is hiring? (August 2015)
ARM | Multiple locations

Care about data structures, algorithms, cache utilization, hardware accelerators, latency & throughput, power consumption, operating systems & virtualization, network protocols & SDN, extensible & robust software, and languages & run-time systems?

Want to work on high performance software for ARM-based server and networking platforms?

We're looking for software engineers who are comfortable digging into complex systems, identifying optimizations, and working with software and hardware teams to implement solutions.

If you want to make an impact in the software and hardware for mega data centers & tier 1 ISPs all the way down to your home router or SBC, we'd like to hear from you.

Contact: brooks (dot) brian (at) gmail

brooksbp··on Ask HN: Who is hiring? (July 2015)
ARM | Multiple locations

Care about data structures, algorithms, cache utilization, hardware accelerators, latency & throughput, power consumption, operating systems & virtualization, network protocols & SDN, extensible & robust software, and languages & run-time systems?

Want to work on high performance software for ARM-based server and networking platforms?

We're looking for software engineers who are comfortable digging into complex systems, identifying optimizations, and working with software and hardware teams to implement solutions.

If you want to make an impact in the software and hardware for mega data centers & tier 1 ISPs all the way down to your home router or SBC, we'd like to hear from you.

Contact: brooks (dot) brian (at) gmail

brooksbp··on Interview with Go’s Russ Cox and Sameer Ajmani
> Go's documentation, tutorials, videos, support, community - what forms the ecosystem, basically - is really the reason why I keep coming back to it.

One way to put it is that this highlights Go from a user's perspective.

The very same thing is true from the compiler developer's perspective.

I've found that the process of installing dependencies, pulling source, navigating source, building, testing, contributing patches, etc is important for success--as well as the user experience.

I've had bug-fix patches accepted into Clang, GHC, and Rust. I found Rust to be a bit pricklier than Clang and GHC. I'd like to make time to get a similar experience with Go--I suspect it would be good.

brooksbp··on Bazel – Correct, reproducible, fast builds for everyone
Will GYP/GN be deprecated in favor of Bazel?

What, if any, does the convergence among these projects look like longevity-wise?

brooksbp··on Next Gen BASE-T (2.5 and 5 Gbps Ethernet) [pdf]
tl;dr - Current & next-gen wireless APs saturate 1GbE... 2.5 & 5 Gbps BASE-T (UTP) Ethernet will be the next step.

Hopefully by the time APs reach 10Gbps (at least 3+ yrs?) 10GBASE-T will be more affordable.

brooksbp··on Theoretical Computer Science Cheat Sheet [pdf]
Jaehyun Park's Stanford ACM-ICPC resources:

http://web.stanford.edu/~liszt90/acm/

brooksbp··on Google Code Jam 2015
Yay! Cmon y'all.. I can't be the only one excited about this!? Where are all the fellow HN'ers who actively practice programming challenges and such? Woot!
brooksbp··on Ask HN: Who wants to be hired? (March 2015)

    Location: USA
    Willing to relocate: Yes
    Technologies: C, C++, Haskell, Python, Go,
                  Linux kernel, Ethernet, IEEE 802.3, TCP/IP,
                  HTTP, HTML, CSS, JavaScript, React.js,
                  I2C, SPI, MAC, PHY,
                  parallel & concurrent programming,
                  algorithms, data structures
    Résumé/CV: http://brpbr.com/ (resume upon request)
    Email: brooks !dot* brian ^at% gmail
Looking for an opportunity to create & grow solutions to real-world problems via boundary-less engineering. Over 5 years experience in software for networking devices: L1/L2 Ethernet, Linux kernel, infrastructure, network protocols. Spare time includes contributing to OSS, programming challenges, and learning new technologies & languages.
brooksbp··on My experience of interviewing for a job at Apple
I've had 9 on-sites in the past 4 months at both large companies and start-ups. A few reflections:

- Sometimes, a "No" means "we like your career trajectory; we've identified you as a candidate that we want to follow up with in ~6 months".

- Sometimes, a "No" means "we really like you; we think you'd be a fit here, we'll be constructing this team in ~6 months".

- Sometimes, a "No" means "we wont relocate; we wont fly you out here; we're only considering local (e.g. Bay Area) candidates".

- Sometimes, a "No" means that it's up to you to reflect on the situation. Take as many notes as you can during the process. Analyze what you said, wrote, acted, etc. It's up to you to determine how you could be better.

- When you get to the on-site and have the opportunity to learn a lot more, things might not be all ponies and rainbows like you'd imagine. Be open to what you didn't want to see, hear, or learn about. You might learn that you actually don't want to work here.

- You're racing against the clock. Balance is key. You hear advice about asking clarification questions, discussing trade-offs, etc. but at the end of the hour one of the most important things is the code you put up on that board. The interviewer will likely whip out their phone, take a pic, and that's that.

- Coding on a whiteboard, with a stranger, in an unfamiliar environment, after traveling many miles... is... challenging. Without much practice, you're at risk to fall flat on your face--I've face-planted my fair share, and it's always fuel to get back at it again.

- Interview as much as you possibly can. You learn about companies, people, technology, industry, challenges, etc. Practice, practice, practice.

- Sometimes, recruiters reach out to you for an initial call (you're excited), and then you learn that members of the hiring team haven't even seen your resume (orly? u think i haz de skillz dear rekrooter?). You then never hear back from the recruiter, or receive an email stating that they're not moving forward. I've only had a couple of these, but it's enough for me to strongly dislike contact before any member of the hiring team has reviewed my qualifications.

brooksbp··on Ask HN: Who wants to be hired? (January 2015)
Location: North Carolina, USA

Remote: Yes

Willing to relocate: Yes

Technologies: Imperative, functional, and OO languages. Software / hardware interface. Network protocols. Extensible, modular software. Algorithms & data structures. Systems performance. Embedded software.

Résumé/CV: On request. Over 5 yrs experience working on software for Ethernet networking devices: L1-L3, kernel drivers, networking ASICs & NPUs, OpenFlow, infrastructure.

Email: found here -> http://brpbr.com/

brooksbp··on Vim.js – JavaScript port of Vim
Crashed on me as well, but my current environment is tons of open tabs with 1GB free memory.
brooksbp··on Pipable functions in C++14
Taking a huge risk by saying this (I do not use C++ full-time), but every time I look at C++11 and C++14 I get the feeling that I should just stick with Haskell or <insert-popular-fp-lang-here>. It is insanely more natural to do stuff like this in Haskell. Defer to those with more experience in 'modern C++'.
brooksbp··on Building My Own Home Router
Highly recommend Mikrotik for those interested in something beyond your average household router. Their Tilera-based CCR series routers are quite nice and affordable. More L2-L7 features than you could wish to nerd out with for your home network.

Also agree with the statement that rolling your own is generally a bad idea.

brooksbp··on Elon Musk’s SpaceX Is Raising Money at a Valuation Approaching $10B
Is "a glorified messaging app" vs. "puts things into orbit and literally does rocket science" a fair comparison?

Surely there are deeper technical challenges and social motivations to "a glorified messaging app".

How about considering the value of wide-spread human communication vs. multi-planetary human existence & space research?

brooksbp··on Ask HN: Ways to increase mental sharpness or intelligence?
Exercise. A short jog around the block is enough to give you a boost.

Sleep. Your body requires rest.

Fruits & vegetables. You don't have to be 'vegan' or 'vegetarian': my motto is the more fruits & vegetables I consume the better. Juicing is a great way to consume large quantities of these foods. People give me the o.0 stare every time I mention that I get 'high' from kale--along with other dark greens and fruit.

Learn about other fields / domains that interest you. Find less technical intro books and find ways that you can apply simple algorithms to compute things or program systems that aid in automating and managing things in that domain. Create a domain specific language (DSL) for assisting in thinking about and computing things in a domain. These things should be interesting to you and potentially beneficial to your life! Start small, stupidly small, and just explore and have fun.

Build a discipline of studying and practicing. Shit takes time, and if you don't put in the time you won't get there. Build the habit of regularly spending deliberate study and practice time. Plan your trajectory and track your progress & velocity and adjust regularly.

Nootropics and other supplements: (ar)modafinil, racetams, artichoke extract & forskolin, choline, amino acids, creatine, etc. I am a believer in no biological 'free lunch', but it can be fun to explore these on your own and form your own beliefs about them.

brooksbp··on Ask HN: Ways to increase mental sharpness or intelligence?
Yep. Huge benefit I get from writing is persistence. Human brain is such volatile memory.

First step is to get it all down in some persistent form. Second step is to iterate: organize, clarify, simplify, expand, etc.

brooksbp··on Ask HN: Who wants to be hired?
USA, Remote & Relocation, Full Time

Stack: C, C++, Haskell, Python, Embedded Systems, Network Processors & ASICs.

Resume: http://brpbr.com/static/Brian_Brooks_Resume.pdf

Contact: in resume

Looking for a rocket ship in a broken industry.

brooksbp··on 20 Freescale Semiconductor Employees on Missing Flight MH370
> If the 20 people on the flight were even half the team working on one of Freescale's products, they could have just lost six months to a year.

Replacing 20 people even at a company the size of Freescale is not just a "6-12 month setback." I would pull a much larger time frame out of my ass, especially if you were to consider the long-term value these employees had.

brooksbp··on An Introduction to Lock-Free Programming (2012)
Shouldn't atomics behave similarly across all platforms? I am thinking of the GCC builtin atomics [1].

What sort of code are you thinking about? Even lower-level / non-abstracted atomics and memory fences that are specific to a particular architecture? I actually did run into code like this for a MIPS-based CPU and we converted the code to using the GCC builtins for portability. Funny thing is that the next hardware architecture toolchain wasn't GCC-based, so there was no benefit... we had to make wrappers for the atomics... and hunt down some absurd bugs related to L2 cache writebacks and mem fences. It was an exercise in how long I could stick with a problem... some serious hunting and staring at debug output / hex dumps..

[1] http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins....

brooksbp··on Programmers At Work: Bill Gates (1986)
Sometimes that approach is good. And then sometimes, after a decade of misuse, it just leads to a nightmare of a codebase.
brooksbp··on On Google's Acquisition of Nest
> “People who are really serious about software should make their own hardware.” That’s never been true of Google

What about the pluto switch or the custom servers? Sure, they don't make chips or maybe don't even do PCB layout and all of that stuff, but I'm sure they have great hardware designers and embedded software people, no? I didn't even mention the google glass, mobile devices, and self-driving cars.

EDIT: Got it. Thanks. Was too eager to respond..

← PreviousPage 3 of 9Next →