Other person: I like dogs. I have a job, a girlfriend, friends, family, and a life. I don’t have time to get a cat to love me.
Me: I only have a job. That’s why I have a cat.
Aqua Utopia|海の底で記憶を紡ぐ

@theartofmadeline
almost home

ellievsbear
icyghini twinkie
cherry valley forever
I'd rather be in outer space 🛸

pixel skylines

bliss lane
RMH
Misplaced Lens Cap
Keni
Fai_Ryy
No title available
h
Cosimo Galluzzi

#extradirty
sheepfilms

No title available
KIROKAZE

seen from Türkiye

seen from Netherlands
seen from Russia
seen from United States
seen from Türkiye
seen from United States
seen from Türkiye
seen from France
seen from Singapore

seen from United States
seen from Türkiye

seen from United States

seen from Italy

seen from Saudi Arabia
seen from United States
seen from Canada
seen from Germany
seen from United States
seen from Hong Kong SAR China

seen from Australia
@jasminenoack
Other person: I like dogs. I have a job, a girlfriend, friends, family, and a life. I don’t have time to get a cat to love me.
Me: I only have a job. That’s why I have a cat.
http://jasminenoack.com/sorting-algorithms/#pipe
Graphic representation of quick sort.
http://jasminenoack.com/sorting-algorithms/#pipe
“There are only two kinds of languages: the ones people complain about and the ones nobody uses”(Bjarne Stroustrup): When development is not the best thing ever.
It was the worst week at my current job. Every day something new was on fire, and it made it almost impossible to actually get anything on the “sprint” done. Everyday was releases and hot fixes and then trying to figure out how to handle the new releases and hot fixes. Trying to do analysis to figure out where we are at and then rolling things back, and out, and back. Finding out that the query we use to check for things isn’t actually working. Finding out that the cookies are still broken and we don’t know why. Finding out things that 100% should work don’t. Finding out that fixing a bug made stuff not work as well as it did before. Being so horribly confused that we aren’t sure what the next step actually is.
But even in all this there were moments that reminded me, this is a fun place to work, these are people I like. And that’s what really matter with development.
There was a moment when 4 developers were huddled around discussing a problem and someone walked up and said, “Just remember this is pure profit, after all you all work for free”, and everyone laughed.
There was a moment where I made a pull request called wrapper bull shit, and instead of anyone being like “What?” everyone laughed.
There was the moment when I was talking about not having the right cookies and someone handed me a bag of Oreos, which I promptly handled back and told them to give them to one of the managers who had been asking about the cookie problem, and they did.
There was the moment that we decided we could monitor the fires by email and decided to go have a drink.
There was the moment we told someone they could leave because we had it handled and they stayed to keep us company anyway.
And there were all the moments that we complained and people didn’t get annoyed they just listened.
That’s the thing about programming. No one is shocked that people get annoyed or angry or grumpy. People like really get it. computers are the worst. And we all know that, and we are all dealing with it. We are all on the same side against the technological overlords.
Debugging phase 1: Am I an idiot?
A note to all the people learning development, or new to development. Something that good seniors are good at is blame. When their code breaks they don’t jump to the computer is broken. Step one is what is the stupid thing I might have done. If you jump to “what did the computer do?” you risk spending 3 hours looking for a bug where you fucked up an if statement. True story.
“Whatever women do they must do twice as well as men to be thought half as good. Luckily, this is not difficult.” ― Charlotte Whitton
Being told that, categorically, he knows what he’s talking about and she doesn’t, however minor a part of any given conversation, perpetuates the ugliness of this world and holds back its light.I’ve been reading the book Men Explain Things to Me by Rebecca Solnit. I read the title essay and I thought I would explore how this effects my life.
It trains us in self-doubt and self-limitation just as it exercises men’s unsupported overconfidence. -Rebecca Solnit
Sometimes when I say something to someone they say something like “okay”, “good idea”, or “are you sure?” Then they continue on with whatever they were doing without acting on whatever I said. One of my friends explains this as “Sometimes when people say ‘you’re right’ they mean ‘there there’”. This is patronizing at best and stupid at worst. It’s not unlike patting a small child on the head to get them to go away. The problem with patting an adult on the head and sending them away is that when the house of sticks collapses around you they remember that they told you that was going to happen. And if I’m not careful I get bitter about this. And end up asking people things like “how many times do I have to be right before I stop being dismissed”. I’ve been told “all of them”. So we end up with annoyance on both sides, bitterness, or I shut up and watch it all crumble. For any of these it turns out the product is worse than if we start with the assumption that we both have thoughts with different context and understand that context. This is not to say that I’m always right, but I’m certainly not always wrong.
Credibility is a basic survival tool. When I was very young and just beginning to get what feminism was about and why it was necessary, I had a boyfriend whose uncle was a nuclear physicist. One Christmas, he was telling–as though it were a light and amusing subject–how a neighbor’s wife in his suburban bomb-making community had come running out of her house naked in the middle of the night screaming that her husband was trying to kill her. How, I asked, did you know that he wasn’t trying to kill her? He explained, patiently, that they were respectable middle-class people. Therefore, her-husband-trying-to-kill-her was simply not a credible explanation for her fleeing the house yelling that her husband was trying to kill her. That she was crazy, on the other hand…. -Rebecca Solnit
I was talking to someone about their work, or I tried to and was told “I don’t like to talk about this because it’s a thing people know about”. Which I suppose is a clear indicator that I am apparently not one of those people who know things. Now it was only tangentially related to my field which is why I thought it was interesting and had asked about it. I wasn’t asking for a detailed explanation, I just wanted an overview. He had mentioned some related subjects and I had some knowledge about them, but hadn’t pushed anything as he clearly knew more. So I don’t believe I was super out of my depth. And this was someone when I gave my traditional answer that I am a senior software engineer at an advertising company had asked me for details. So there was an assumption clearly that I didn’t have anything to say that they didn’t understand. When I got an answer, which he did eventually give after the insult. It wasn’t particularly complicated at least in overview, and there was nothing that left me completely lost. Now I don’t know if he was attempting to defend himself from me giving him advice about his work. I wouldn’t have but some people are idiots. Or maybe against the fact most people aren’t interested. But maybe that’s just me being a girl and trying to make an excuse for him. But again if we open a conversation, even one where we answer a question with the equivalent of “You’re not smart enough to understand...” we completely shut out the possibility of further conversation. So All that person has is things that they know. It turns out only one person’s ideas isn’t as good as multiple people’s ideas unfortunately. That is why we want to stand on the shoulders of giants.
Being told that, categorically, he knows what he’s talking about and she doesn’t, however minor a part of any given conversation, perpetuates the ugliness of this world and holds back its light. - Rebecca Solnit
Another of my favorites is when I am doing something and someone offers to explain to me how something works. Examples, of this are problematic because they tend to be reasonably technical and specific to projects, and I don’t want this to require a computer science background to read. So let’s go with something relatively general. I was a Django developer for a long time. At one point I was building an architecture for a rest infrastructure(calling urls to get data) based on Django-rest(A library for this) and someone offered to explain how databases worked to me because he disagreed with the architecture. Now this is weird on many levels. The most obvious being I wasn’t architecting databases that was his job. I did in the end make a database but that was because he never actually made any. I think of this as “I don’t understand what you are doing so I’d like to explain an unrelated concept to you to feel smarter”. The other large problem with this is the assumption that because you are confused I need you to explain something to me. It’s a power play at base, I think, you need me to look stupid to feel better about yourself. And let’s be real. I’m a full stack developer I understand databases. I can’t think of a time this has happened and the thing being suggested was not a thing I already knew. There are times where people tell me about things, and I love learning things. But those moments never start with someone saying “What you are doing is completely wrong, please let me explain this simple unrelated concept to you”.
His scorn was so withering, his confidence so aggressive, that arguing with him seemed a scary exercise in futility and an invitation to more insult. - Rebecca Solnit
So the other one that really interesting to me is the “you’re/she’s young”. 1. Irreverent. 2. I’m not. 3. A lot of times I’m older than the person who said it. 4. It’s likely that I’m right. This is a manner of dismissal. A really weird one. Basically like the Matilda, “I'm big and you're small, I'm right and you're wrong, and there's nothing you can do about it!” It’s never really mattered for me in tech. Tech is about merit. A good idea is a good idea unless you are attempting to dismiss someone outright. Because if you had a better idea we wouldn’t be talking about age at all we’d be discussing the ideas. This always seems to be an attempt to dismiss something outright without an alternative. Which always seems strange to me.
Most women fight wars on two fronts, one for whatever the putative topic is and one simply for the right to speak, to have ideas, to be acknowledged to be in possession of facts and truths, to have value, to be a human being. - Rebecca Solnit
One other weird pejorative has happened in my life. I’m 31, about 8 months ago when I was 30 I broke up with my boyfriend and he moved out. My boss at the time at one point asked me if “you need any help, since you don’t have a man to watch you”. Which is pretty much the weirdest comment I’ve ever heard. Especially given the fact that I managed to stay alive for 30 years so far, most of it without a babysitter. This was one of those things that was so pejorative that it was just baffling.
Young women, she said, needed to know that being belittled wasn’t the result of their own secret failings; it was the boring old gender wars, and it happened to most of us who were female at some point or other. - Rebecca Solnit
So I have a friend who’s a bit older than me who whenever any of this happens asks me “is it because you’re a grill”(sic). I never have an answer to this. There are never enough girls in the room to tell if it’s that or something else. In most cases in engineering there is one. I do actively think that there is something about being female or being feminine(traditional stereotypes). I have a couple male friends who are very quiet and differential and they tend to be treated the same way women are. A main difference being that women are treated that way whether or not the have the traits. Only the men who have the traits are grouped with us. But even if there is a problem of dismissing people based on gender. There is a problem of dismissing people at all. Because as I said a good idea is a good idea regardless of anything else. There is also the problem of this argument that women should act differently then they won’t be dismissed. Lean in, be more aggressive, push your ideas. I disagree I shouldn’t have to be a jerk for you to accept my thoughts are worth listening to. I shouldn’t have to prove that I’m an exception to some rule and deserve to be listened to. You should listen because varied thought makes better outcomes, and because like you I’m human.
He thought that being patronized was an experience a woman chooses to have, or could choose not to have -- and so the fault was mine. -Rebecca Solnit
And a note to those of you how do these things. The more you do them the more I discount you. Just something to consider.
More mansplaining
“The secret of getting ahead is getting started.”(Mark Twain): Babylonian Quadratic Equations
So did you know that the Babylonians solved the Quadratic equation? No really? In 1930 Otto Neugebauer(Let’s call him some old math guy) saw that a solution to a quadratic equation was written on Babylonian tablets.
So to understand the Babylonians used base 60. So let’s assume that anytime people counted 6 people stood in a row with both hands up. I mean seriously... 60 come on you might be ancient but be reasonable.
They also had decimal points, but beyond basically proving that the Babylonians were smarter than you thought this is all not terribly important.
I sort of doubt that’s the right tablet, but it’s one of many mathematic tablets from the Babylonians, and that seems reasonable enough for me.
So for those who are a bit lost the quadratic equation is this one:
The tablet included instructions for how to solve a quadratic equation:
Take half of 1, which is 0;30
multiply 0;30 by 0;30 which is 0;15
Add this to 14,30 to get 14,30;15
This is the square of 29;30
Now add 0;30 to 29;30
The result is 30 the side of the square.
So what are they actually solving here it’s obviously something super specific.
find the side of a square if the area minus the side is 14,30
or x^2 - x = 14,30.
So let’s start by converting all the weird numbers.
Take half of 1, which is 0.5
multiply 0.5 by 0.5 which is 0.25
Add this to 870 to get 870.25
This is the square of 29.5
Now add 0.5 to 29.5
The result is 30 the side of the square.
or x^2 - x = 870
We can first look at simplifying this equation:
Clearly we can throw out -29 because we are looking for the length of the side of a square. So that’s garbage.
I started working on a new puzzle type. It’s actually a puzzle I’m fundamentally bad at, so it will be different than some of the other stuff we’ve seen that I’m already very good at.
Step one was to create an interface that let me look at the puzzle and interact with it. Now instead of directly asking the computer to solve it we will move forward by attempting to create logic for the computer to help us to solve it.
And the show goes on
The game of life with various rule sets
“For I am a bear of very little brain, and long words bother me.”(Pooh): Going around the world in a small space
So I’m working on the game of life and I wanted to try making it wrap around the board, like the universe wraps, or the world is round. Basically it’s important to me that I have fun and making the game do weird things makes me smile. So I did it.
This is of course the version that doesn’t wrap with the r-pentamino which is a pattern that expands a lot. Test it on a bigger board on the page if you are interested. Here it moves outward until it eventually falls out of the board and ends.
Here is the same pattern on a wrapped board. The board is wrapped as if it’s a rolled piece of paper in both directions. The top left is considered below the bottom left and to the right of the top right. Instead of only having 3 neighbors it has 8 [24, 20, 21, 4, 1, 9, 5, 6]. This makes the pattern here live a bit longer although it still eventually dies. On larger boards it allows for gliders to loop around the board and possibly collide with their generators.
It changes the population characteristics as now things can encroach from what was before a very far distance. It’s not unlike the difference between living in Maine and living in New York.
And yet again programming teaches us the life lesson that’s it’s better when a log walk off a short pier doesn’t end up in our backyard.
The so-called ‘psychotically depressed’ person who tries to kill herself doesn’t do so out of quote ‘hopelessness’ or any abstract conviction that life’s assets and debits do not square. And surely not because death seems suddenly appealing. The person in whom Its invisible agony reaches a certain unendurable level will kill herself the same way a trapped person will eventually jump from the window of a burning high-rise. Make no mistake about people who leap from burning windows. Their terror of falling from a great height is still just as great as it would be for you or me standing speculatively at the same window just checking out the view; i.e. the fear of falling remains a constant. The variable here is the other terror, the fire’s flames: when the flames get close enough, falling to death becomes the slightly less terrible of two terrors. It’s not desiring the fall; it’s terror of the flames. And yet nobody down on the sidewalk, looking up and yelling ‘Don’t!’ and ‘Hang on!’, can understand the jump. Not really. You’d have to have personally been trapped and felt flames to really understand a terror way beyond falling.
David Foster Wallace
“It is not worth the bother of killing yourself, since you always kill yourself too late.”(Emil Cioran): A note on life.
I’ve been feeling weird recently. Very tired, I keep almost, or actually falling asleep on my couch which isn’t something that I ever do. Likely too much life and too many people. So I decided to spend some quality time with my computer. And I built the game of life.
Clearly it’s not done or anything, but I wanted to have some fun and to ideally spend some time with my favorite person my computer. I cannibalized some other stuff. I pulled the TypeScript setup out of Tic Tac Logic. I need to update my base files they are missing some stuff. Then I pulled neighbors out of the Minesweeper that I sent in for a code challenge. It was mostly just implementing the rules specific to this. And getting d3 to work.
Did you know d3 never does what you’d think? It’s very annoying. So I worked through the non-updating d3 issue, and found that you can’t call enter if the elements already exist or it skips them. And eventually got it to work.
Then I implemented the wrong rule(I allowed reproduction at 2 instead of 3) which meant life basically overran everything. Them I added the patterns.
There is much that can and likely should still be done, but I’m not there yet so we will see. Perhaps a wrapping of the world. More patterns, different board sizes.
But for tonight we will live in the world where like a normal person I get tired and I’m going to sleep.
“Believe in the Kamina who believes in you!” Gurren Lagann
Recently, I’ve had to do a lot of stuff that includes people. And the reason I do computers is specifically because I don’t do people. So that’s been tough for me.
But I do my best to remember that other people think I can do it. And I try to have the faith that they think that for a reason. It’s one of the hardest things I do every day but I keep doing it.
Now I wake up every morning and my first thoughts?
Not again.
Jesus I’ve already screwed up and I’m not even awake yet.
Shut up boo.
Today will be better.
Today I’ll be normal.
Should have stayed asleep.
There is something about my thoughts that I think is special. At least from what others tell me it is, I could be wrong if everyone is lying to me.
A lot of times I’ll be talking to a friend and they’ll be freaking out. They think they are sick and dying, and then they’ll say “And then they told me I was a hypochondriac can you believe that?” I always can. I usually respond along the lines of you are a hypochondriac but it doesn’t mean you’re not sick.
When my friends are having a bad day they will basically think everything is worse than average for them, and maybe it is. How would I know? When they are happy the world is perfect. There is no disconnect between them and their thoughts as far as I can see. But like I said I’m not in their heads so who knows.
On the other hand I’m a weirdo. I have a filter between my thoughts and me. When I should feel happy, I don’t feel happy there is this other person in my head an I know they're happy, but I’m ambivalent. When I feel depressed same thing and as far as I can tell it doesn’t penetrate the same way as other people. I never just feel anything.
I think a lot of this comes from having and managing bipolar. I drastically filter all of my emotions. Am I happy because I’m manic? Am I sad because I’m depressive? Am I irritable because I’m hypomanic or mixed? This started as an observation of the emotions, but as I’ve gotten older and better at it it’s moved to a wall between me and all emotions.
I think this is caused by the difficulty of telling a real response from a bipolar response... Not that those aren’t real, they feel the most real. But they are the hardest to manage so it’s easier to filter everything out and avoid them.
This comes primarily from an inability to trust my own mind. I can’t trust that if I let my mind do what it does that I won’t feel suicidal, or that I will be able to get out of bed. So I have a distinct separation between the part of my mind that interacts with the world and the part of my mind that feels. And the part that feels never comes out to play. I think about it sometimes. I see normal happy people and I want to feel like them and I consider it, but it’s not the same as logic and rationality. So I pick logic and rationality. Because nothing is spinning out of control quite the way that not being able to trust yourself is.
“A surplus of effort could overcome a deficit of confidence.” Sonia Sotomayor: SICP Chapter 1, Part 1
So I’m reading along in the SICP still and I started doing some of the exercises and I turns out that I’ve basically completely forgotten Scheme. Not that I really expected to be particularly good at it given I’m not positive when the last time I wrote it was.
But in confusion there is knowledge of course.
One important thing is mentioned early in this chapter:
Thus, like the sorcerer’s apprentice, novice programmers must learn to understand and to anticipate the consequences of their conjuring. Even small errors(usually called bugs or glitches) in programs can have complex and unanticipated consequences.
Programming languages serve as a framework for organizing our ideas. It’s important to understand that this is the fundamental purpose of languages. Therefore, we need to fundamentally understand how the programming language thinks about ideas to write it well.
This book uses Scheme which is a weird language. I will leave learning it and other Lisps as an exercise for the reader. But one really interesting thing about them is that everything is a process. So programs look like (display 10). So when we write a function it’s not the same as writing a bunch of lines like in Ruby or Python, or not from what I’ve seen so far it’s simple expressions. Basically, the entire function comes down to one thing in the end.
Every one of our parents does considerable emotional damage. And from what I've heard, it just might be the best part of being a parent. Now if some guy ever does put a ring on your finger, and you're lucky enough to pop out a youngster, I'm sure you'll understand, but for now trust me when I tell you that I wouldn't care if today was the first time you ever even met your daddy. Because in reality... well, he could have done a much, much worse job. Okay?
Scrubs
“Our conviction that ‘computer science’ is not a science and that its significance has little to do with computers” SICP preface
So as a bit more preamble one really important thing about programming that people are terrible at is that programming is in fact not about computers. It’s about thought. I was planning a project the last couple weeks and I was writing code basically from the start. Why? I wasn’t writing production code. I wasn’t even writing code that lived to see the light of day. The prototype that got presented was maybe 10% of the code I wrote. But because code it a way to think. I wrote code to say what if the computer used this process. What if it did this? Then I looked at the structures I needed and decided that thought process doesn’t work for the structures, so I tried a new one. I commonly say the same thing about TDD to people. It helps because it makes you break a problem down into small pieces. We’ve talked before about the fact that people don’t think in straight lines or even rationally. Programming is a study of how to know things in a procedural rational way. Maybe that’s why programmers think differently than other people. Who knows? SICP refers to this as procedural epistemology saying, “The computer revolution is a revolution in the way we think and in the way we express what we think.” Programming unlike math isn’t about solving a straightforward problem it’s about twists and turns. It’s about really understanding the structures and patterns. It’s about knowing what having the right tool means. And that just because you have a hammer doesn’t make everything a nail.