@sabrinaesaquino
In IEEE-754 single precision:
0.1 is exp: 123, mantissa bits: 5033165 i.e. 2^-4 * 1.600000023841858 = 0.100000001490116119384765625
0.2 is exp: 124, mantissa bits: 5033165 i.e. 2^-3 * 1.600000023841858 = 0.20000000298023223876953125
Adding these two together: 0.30000000447034836
I've completed exactly 55 revolutions around the sun pretty much to the minute. Others might think I'm a loser to be still "just a coder" at 55 but actually I'm proud because it's tough to be an old git in this game and still hack it. I had to take demotions and quit management!
I wish we would stop saying that strong mathematics skills are necessary for a computer programming career, and stop requiring high levels of mathematics attainment to study computing at university. It is a false proxy for whether you will be good at programming or not.
I once arrived at San Francisco airport with an H1-B that expired while I was out of the country, but the renewal was not going to start for a few days. They started to process me for deportation (I lived in San Jose where I owned a house!!!) and put me in a room for 5 hours that
Me: "Hello, my name is Satnam Singh and I work at Google Research."
Interview candidate: "Yes, I know, I follow you on Twitter."
[All pretense at appearing professional immediately evaporates.]
12 years I was on the verge of failing my second attempt at interviewing at Google. I was summoned to the New York office of the potential hiring Director who said "Satnam, your interview feedback is all over the map, we can't make sense of who you are, can you even code?" I
My daughter has told me excitedly about a SAT solver she has just written in Python. Parenthood has prepared me for mixed emotions, but this has truly left me conflicted.
To get promoted build things poorly that are likely to break and then fix them in an emergency and emerge as a hero. To be overlooked and never loved work hard to build reliable systems that you keep running where everybody takes reliability for granted and nobody knows your name
I turned 56 today. I’ve been reflecting on what (if anything) I have learned in my life that I can tell you that might be of use or interest to you.
I’ll spare you the details of the specifics of my history and background and how I got from a poor rural family in India to
Recruiter: We ask you to do three coding interviews.
Me: No problem, let me know which engineers from your company you would like me to interview and what programming languages they want to use.
Recruiter: <noise a recruiter makes when they SEGV>
Exactly 10 years since my Google interview.
Director: We can’t make any sense of your background. Can you code?
Me: <Reaches for current CACM on his desk, opens it at my article, points to C++ code> “Well, I wrote that.”
Director: <Looks at code, looks at me> “OK, I’ll sort this”
My son is learning something called "OOP" at high school which seems to have something to do with rectangles and circles. He instinctively knows not to ask me blasphemous questions about such stuff and instead goes straight to his mum about his inheritance issues.
depends on who you get and their reaction to you. The first officer took an instant combative tone with me from the outset, I had no idea why she felt so negatively about me. After seven hours I was home (my luggage had been stolen by then).
Hubris followed by a near death experience, from exactly 11 years ago. Life seemed good at the Google holiday party, but shortly afterwards I would be in Stanford hospital fighting for my life as I suffered a pulmonary embolism (a blood clot in my lungs). The doctor told me
We’ve developed an LLM chat service that runs at breathtaking speed compared to some other LLM chat services you may have used. Please give it a try via . The LLM chat service is built using our special purpose chips (LPUs) for accelerating machine learning
I was 45 years old when I realized I "could not code", despite having written over a million of lines of code since I started hacking as a teenager. After a career as a researcher in academia and industry I had just started at Google writing production code for a devops project,
My daughter recently texted to me “Why is my lecturer talking about Tony?” who she knew as our neighbor in Cambridge. Now she realizes he is also a computer scientist. I visited Tony this afternoon and told him about my daughter’s surprise.
could get the renewal documentation from my house and bring it to the airport, so I owe a lot to Hamish Fallside who picked up the documents and drove to SFO to meet the immigration officer to hand over the documents. The kind immigration officer did not need to do that. So much
Over lunch today I asked the best C programmer I know why he still prefers C (for low level systems code). In a previous thread the notorious gets() was cited as a representative of what is wrong with C, but this person said gets() was informally effectively deprecated long
Our AirBnB host asked me which vegetables I would like to cook with so she can harvest them from the house garden. They include early potatoes, shallots, garlic, onions, three varieties of kale, large leaf spinach, a sweetheart cabbage and some sugar snap peas. This is going to
A friend is about to retire as the director of a large software organization and speaks to me about the abrupt nature of being an important person one day to becoming an irrelevant person the next day. I worry about having too much of my identity and self-worth defined by my work
had handcuffs at every seat (secondary immigration processing at SFO airport). It made me realize how fragile my existence was in the USA. The shift of the person processing m deportation ended after a few hours, and the replacement officer was much kinder. He asked if a friend
I was privileged to attend Simon Peyton Jone's Order of the British Empire (OBE) investiture. The medal was presented by HM Lord-Lieutenant Mrs Julie Spence OBE QPM on behalf of The King for his services to computing and his leadership of the UK computing at schools initiative.
I keep coming across people who think anything that can’t be learned in a one day hackathon to be not worth knowing. Sorry to be the bearer of bad news, but some very valuable ideas take a bit of time and significant effort to study and understand. Not everything has a shortcut.
So many outages are caused by bad configuration updates. We invest so much energy into the design and use of “regular” programming languages, yet configuration languishes as a second or third class citizen, scribbled in YAML and JSON with uncertain meaning. We then compose
I've just done a lot of interviewing at large and small companies, and I've interviewed many candidates in my career and served on Google's Hiring Committee for software engineers. I thought I would share some advice on coding interviews in case it helps.
I've joined
@GroqInc
where I will continue to pursue my passion: brining the power of functional programming languages like Haskell to the design of high performance hardware and tools for programming hardware accelerators. Want to join me? ssingh
@groq
.com
My daughter passed the first year of her computing science degree at the University of Strathclyde with distinction, which is far better than my first year at uni. I'm of course a very proud father. Now, if only I could stop her from programming in Java and switch to Haskell...
People mocked me for putting in two dishwashers into our Cambridge UK kitchen, but they did not understand the importance of double buffering and decoupling LOAD operations from UNLOAD operations, a hazard that often occurs during multi-course dinners.
Dinner as a guest at a Cambridge college.
Fellow: Which college did you study at?
Me: I did not go to Cambridge.
Fellow: Ah, you went to the other place.
Me: No, I did not go to Oxford. I went to Glasgow.
Fellow: <SEGV>
An engineer asked me today how I tackle ambiguity in technical problems. The path to the solution can’t be found in one step. Make decisions, almost any decision, to try and refine part or all of the problem. They will not be the right design decision, but get early feedback from
I gave advice to five people this week about interviewing with tech companies or leaving academia to join them. A point I repeated about big tech companies like Google, Microsoft and Facebook is that local microclimates vary wildly and are the higher order bits of your day to day
I've just been appointed as a teaching lecturer at UC Santa Cruz for the spring quarter of this year. Students, get ready to learn Verilog hardware design Satnam-style!
Just to emphasize how disorienting technical coding interviews can be, I once failed MY OWN FAVOURITE INTERVIEW QUESTION that I had asked zillions of Google candidates when it was asked of me elsewhere. I did not even recognize it as the same question until after the interview.🤦
Good to be back in the office. My desk is just a little bit behind the captial blue 'G'. No masks, no capacity limits, delicious food and snacks. It's great to start feeling normal again.
Me to my 18 year old daughter: "I am looking forward to spending time with you before you head out to university."
Daughter: "Dad, you're working at your desk when I wake up, and you're working at your desk long after I get home from work."
Me: <re-evaluates life choices>
7 years ago I defeated mouth cancer with biopsy/laser treatment but the bugger seems to be back again. Early enough to take care of it I hope. It joins the long line of things that have tried to kill me, including a pulmonary embolism (blood clot in the lungs), celiac disease
First introductory Verilog lecture at UCSC done. I think the students are just stunned into silence/destabilized by an Indian looking bloke speaking with a Scottish accent ranting about Haskell and FPGAs. I am sure the novelty won't last long.
I was playing with LEGOs with my daughter but then she worked out what I was doing and she was not impressed. An attempt at a (very poor) CMOS NOR-gate. The vertical red lines are polysilicon that provide the A and B inputs to the circuit. When polysilicon crosses n-type
Simon Peyton Jones is having immense amounts of fun working on the Verse language with
@TimSweeneyEpic
,
@Augustsson
,
@fancytypes
,
@RanjitJhala
, Guy Steele and glittering cast of other programming language researchers at Epic Games. As usual, a high energy inspiring talk from
I wish my father was alive to see a brown skinned man become Prime Minister. He (and I) would not have believed this could happen in our lifetimes from the perspective of the UK hostile environment of the 70s and 80s. And there is absolutely no way he would believed such an Asian
Me: Do you have a wardrobe malfunction?
Daughter: <checks straps and things>
Me: No, I mean <points to clothes strewn across the floor>
Daughter: Oh, this way I can see all my clothes and know exactly where to find what I want.
She rejected the O(N) wardrobe for the O(1) floor.
Exactly 11 years ago I quit doing research, leaving my position at Microsoft Research Cambridge to move back to the Bay Area to join Google to work on production devops. I feel humiliated to have failed at research, but I also feel fortunate to have a technical rebirth elsewhere.
I taught my son to make my mother's chicken curry last night. He did a great job. It is fantastic to continue family traditions, with twists and turns at each generation. Next: teach him about recursion.
Simon Peyton Jones’ work to deliver outstanding computing education is recognised in the Queen’s Birthday Honours ahead of the Platinum Jubilee celebrations. 👏🎊
Read more:
#PlatinumJubilee
#Congratulations
#OBE
To hell with the haters. Satnam's chicken curry recipe, adapted from how my mum makes chicken curry. She adds the ground spices after she adds the pureed tomatoes. I also add dried fenugreek leaves to add a sweet nutty undertone.
My son is challenging me about how I could have come top of my class at physics *and* history at my high school. In his world view you can be good at one or the other, but not both. That view is what I think is wrong with the world.
I wore a Google t-shirt that an early employee gave me for my second attempt at interviewing at Google in 2011 ("look like the people you want to join"). A Google employee in the New York office elevator looked at the t-shirt and remarked "That shirt is more valuable than I am".
Facebook/Meta recruiter: Would you like to give up your VP/Fellow position for a temporary 5 month contract?
Me: No.
@Meta
some of your recruiters are a disgrace.
I’ve contemplated making an “inverted CV / résumé” listing all the places that rejected me. It would make impressive reading. I’ve also wondered about giving talks about how to fail at industry and academic job interviews. I have many stories...
Used to happen a lot at airport security:
TSA: Sir, what is this equipment?
Me:
#FPGAs
! They're fantastic! They're like the LEGO of hardware!
TSA: What do they do?
Me: Anything! Mid-flight you can reprogram these circuits in
#Haskell
to do anything!
TSA: Sir, please step this way
It might seem strange to you but I feel in love with a programming language called
#Miranda
made by David Turner, and it had a profound influence on my life that endures to this day. Miranda seemed like magic to me, I had no mental model for how it worked so elegantly,
I once dyed my hair electric blue and then a while later gave a presentation to some very senior people at Microsoft where I worked at the time. My talk was totally dismissed out of hand by Steve Ballmer who did not like my blue hair and would not take me seriously because of it.
I’ve literally wanted to dye my hair pink for a decade but fears about being taken seriously as a CS academic kept me from doing it. So, this is my gift to myself for getting 3 papers into SOSP this year. 🤘🏼
I've deleted a tweet about a disturbing event I endured last night because it was even more hurtful to see the hundreds of people that did not believe me. Twitter is such a toilet. Thinking of quitting for good. Last time I did that I lost my original handle
@satnamsingh
Senior engineers, don't throw your co-workers under the bus. It's never a good look. Sure, people make mistakes, but almost always mistakes are not due to the sole actions of a single person, but instead the combination of individual actions and decisions and actions of others.
I have truly arrived home now that I've had my favourite meal maki di roti and saag. The excellent saag was made by my sister and my mum made the maki di roti (cornflour chapati). This version is vegan.
I am still shaken up and upset by someone at work who insinuated that because they went to Cambridge and I did not they are better than me. Perhaps that is true, but I can't help the snipe getting under my skin.
I was put in my place at the Glasgow Apple Store. I tried to explain exactly what model of Mac I wanted to buy my daughter for uni. The young staff member ignored me and just made eye contact with Kiran. I was typecast as the doddery old man who knows nothing about computers.
Over a decade ago I worked on the Accelerator project at Microsoft that compiled the same high level (stencil) matrix computation automatically to vector instructions, GPU code or VHDL for FPGAs. People laughed at me when I presented this slide at talks. No one is laughing now.
Daughter texted me to say that for some strange reason they are discussing in class our neighbour Tony Hoare from when we lived in Cambridge. Dots are being connected.
When my daughter just turned eight I took her to our local Cambridge UK two star Michelin restaurant for lunch (Midsummer House). The gentleman that greeted us said "I supposed we can give her fish and chips." I said she'll have the multi-course tasting menu with me. And she did.
(stomach cancer etc.), pre-diabetes, sleep apnea and the change of the type of the foldl function in the Haskell prelude. I'm too busy singing to put anybody down, so I plan to defeat this ailment and carry on hacking and drinking and ranting for some time yet.
My daughter just got blocked from her high school class via Zoom because she borrowed my laptop which has the Zoom username "Satan" so the teacher assumed she was a ZoomBomber. This non-attendance slip is going to be awkward to write...
After a year of no alcohol (with a few digressions at the end) and losing a ton of weight (some of which I regained after some work trips) I have finally managed to drag myself out of the pre-diabetic range and into the normal A1c range for glucose. It was bloody miserable not