#i only use like 3 lines of code in python for the same things
Explore tagged Tumblr posts
Text
i've spent 1.5 years studying and achieving a level of C/C++ literacy to go to a class, which is really cool, basis of machine learning and genetic based algorithms and i am a sucker for biology but we're applying those in python. what sucks is that now my brain and hands literally itch to put semicolons and curly brackets and indent the code to my needs and implement methods and functions when python doesn't even use those :( and now i can do more powerful things but the code looks like we've just discovered how to paint caves with our fingers
#personal ramblings you can totally skip#but it's bugging me a lot#and i know python is a great way as an outsider to get into coding and do some really cool stuff because it has a lot of built in libraries#and the syntax is closer to english than most coding languages#but it's a bit frustrating to me and i lose time trying to rephrase what i've learned so far#the only advantage so far is that instead of writing like 3 different functions for a vector in c/c++#i only use like 3 lines of code in python for the same things#my frustrations could also be from the fact that i went to this class where we used python straight from a 3 hour class where we used c
4 notes
·
View notes
Note
Two questions: 1: did you actually make ~ATH, and 2: what was that Sburb text-game that you mentioned on an ask on another blog
While I was back in highschool (iirc?) I made a thing which I titled “drocta ~ATH”, which is a programming language with the design goals of:
1: being actually possible to implement, (and therefore, for example, not having things be tied to the lifespans of external things)
2: being Turing complete, and accept user input and produce output for the user to read, such that in principle one could write useful programs in it (though it is not meant to be practical to do so).
3: matching how ~ATH is depicted in the comic, as closely as I can, with as little as possible that I don’t have some justification for based on what is shown in the comic (plus the navigation page for the comic, which depicts a “SPLIT” command). For example, I avoid assuming that the language has any built-in concept of numbers, because the comic doesn’t depict any, and I don’t need to assume it does, provided I make some reasonable assumptions about what BIFURCATE (and SPLIT) do, and also assume that the BIFURCATE command can also be done in reverse.
However, I try to always make a distinction between “drocta ~ATH”, which is a real thing I made, and “~ATH”, which is a fictional programming language in which it is possible to write programs that e.g. wait until the author’s death and the run some code, or implement some sort of curse that involves the circumstantial simultaneous death of two universes.
In addition, please be aware that the code quality of my interpreter for drocta ~ATH, is very bad! It does not use a proper parser or the like, and, iirc (it has probably been around a decade since I made any serious edits to the code, so I might recall wrong), it uses the actual line numbers of the file for the control flow? (Also, iirc, the code was written for python 2.7 rather than for python 3.) At some point I started a rewrite of the interpreter (keeping the language the same, except possibly fixing bugs), but did not get very far.
If, impossibly, I got some extra time I wouldn’t otherwise have that somehow could only be used for the task of working on drocta ~ATH related stuff, I would be happy to complete that rewrite, and do it properly, but as time has gone on, it seems less likely that I will complete the rewrite.
I am pleased that all these years later, I still get the occasional message asking about drocta ~ATH, and remain happy to answer any questions about it! I enjoy that people still think the idea is interesting.
(If someone wanted to work with me to do the rewrite, that might provide me the provided motivation to do the rewrite, maybe? No promises though. I somewhat doubt that anyone would be interested in doing such a collaboration though.)
Regarding the text based SBURB game, I assume I was talking about “The Overseer Project”. It was very cool.
Thank you for your questions. I hope this answers it to your satisfaction.
6 notes
·
View notes
Text
Oy vey, getting tumblr_backup to install and run was a headache. Seems to be working okay now though. Did a test run on my sideblog of projects because there's relatively few posts on there, and once I got the utility working it came out fine.
My bumbling, stumbling, toe-stubbing journey:
Okay, let's go have a look at this GitHub!
Hmm, I was expecting a windows utility but this looks Linux-y
Reboot laptop into the Kubuntu partition
Back to the GitHub and following its instructions
Get my API key created. Misunderstand the instruction relating to 'looking for the "API key =" line of the source code' and spend a while hunting through the page source of the Tumblr oauth webpage looking for my key. 🤦🏻♂️
Figure out that the instructions were telling me to edit the python script to copy/paste in my key, which is front and centre in plaintext on the oauth webpage 🤦🏻♂️🤦🏻♂️
Tool instantly fails to run because it is written in python 2 and I have python 3 installed, and the command "python" doesn't exist
Troubleshooting for a while and figure out to install python-is-python3 package
Python now runs, but the tool still falls over instantly because it's written in python 2 and the http-related commands are different in python 3
Briefly investigate manually installing python 2. Dismiss that idea as stupid.
Find there's a tool you can use to convert python 2 code to python 3 code
...do I even want to back up my Tumblr this badly?
Hoorah! Light in the darkness! That original GitHub hasn't been updated in a fucking decade or some shit, hence it still using python 2 which was end-of-lifed in 2015, but some heroic hero has forked it and made a python 3 version!
They say to install it with pip. What the fuck is pip? My system doesn't know what that is and neither do I.
Do me some learning and troubleshooting and eventually get pip installed.
Attempt to install with pip. Error messages galore saying "don't do this. you can't do this. you have to do this in a virtual environment only."
More troubleshooting. It looks like I can force my way past them or completely block the warnings (both of which seem like very stupid things to do), or I can actually learn how to use python and properly create virtual environments (more investment than I'm willing to make into learning how to use python rn, given I'm not at all going to be actually USING python; all I am is the end-user of somebody else's utility) or I can use pipx to make it 'just work'
I install pipx.
Install tumblr_backup using pipx instead of pip
Run it. Immediately fails because the pipx install of tumblr_backup can't import youtube_dl. Can't manually import youtube_dl either; the two projects are silo'd from one another (thanks to pipx I think)
Can't figure this out; not willing to delve into properly learning python. Look at the GitHub page instead.
It says to pip(x) install it with the [all] flag.
Attempt this. It fails. Uh, maybe I should remove before reinstalling?
pipx uninstall tumblr_backup. pipx install tumblr_backup[all].
Fails. I don't remember why but it fails for the same reason as before.
More troubleshooting. Get nowhere. Maybe I'll try using the [video] flag instead of the [all] flag??
This works!!! 🥳🥳
Point the tool at my sideblog, tell it to download the videos, and set it running!
Tool crashes with a 404 error. ☹️
More troubleshooting.
Figure out that it's case-sensitive, and while I reflexively typed "Kalikai" it ought to have been "kalikai" that I pointed it at.
Two hours after getting out my laptop the dang tool finally runs successfully and downloads a backup of a blog!
Wooooo!! 🥳🥳🥳
Point the utility at my main blog and tell it to skip reblogs
It downloads a whole bunch of stuff then bonks into the API limit and sits down to wait for it to reset.
This might take a while... 🙃
0 notes
Text
Ode to FizzBuzz
FizzBuzz is a kind of old programming problem - one I was really familiar with and primed to excel at due to some unexpected basics of number theory cropping up in Dungeons and Dragons 3rd Edition.
Basically someone gives you a positive integer. Then you start counting, but if you hit a multiple of 3 you say "Fizz" instead of the number you were going to say, if you hit a multiple of 5 you say "Buzz" instead of that number, and if you hit a multiple of 15 you say "FizzBuzz" instead of whatever else.
In D&D 3rd Ed you had some levels that felt really blank and empty, because sometimes devs felt like giving out different sets of bonuses evenly - You'd get a Fighter feat every 2 levels and a regular feat every 3 levels so at level 5 Fighter would feel kinda bored and at level 6 Fighter would get two feats AND a second attack per round. AND all their saves would go up by 1 at 6 while none improved at 5. Bananas.
Anyway.
Most of handling FizzBuzz as a problem is just a matter of
Can you parse what's really being asked of you? and
Can you translate that using the vocabulary and grammar of the language you want to code in?
FizzBuzz, for instance, has a couple things to note:
You need to do something to account for 15s. If you just account for 3s and 5s, you'll end up with this kind of thing:
... 13 14 Fizz 16 ...
or maybe this, if you do back-to-back ifs instead of else-ifs (called "elifs" for short, in Python):
... 14 Fizz Buzz 16 ...
You probably want to include all three non-number outputs as explicit options - with 15 as the first option so it overrides others:
if n % 15 == 0: print("FizzBuzz") elif n % 3 == 0: print("Fizz") elif n % 5 == 0: print("Buzz") else: print(n)
If you try to make it part of the formatting of a single line, you still have to include a line of code that accounts for "what if %3 is also %15?" and you also have to code oddly so you won't run into issues with the if statements not progressing properly:
if n % 3 == 0: print("Fizz", end "") -> This makes it so "Fizz" won't automatically write a new line. if n % 3 != 5: print() -> It'll only write a new line IF it's not also "Buzz" if n % 5 == 0: print("Buzz") elif n % 3 != 0: -> This is the "weird workaround" bit, where you can't just say "else" because you had to use a second if statement to make it possible for both Fizz and Buzz to fire on the same number. print(n)
This also tests how well you understand the twisty ways code gets you thinking about stuff. Because there's a natural temptation to write it in the order the question asks about it: "Fizz," then "Buzz," then "FizzBuzz."
But if you write it "if n % 3" then "else if n % 5" then "else if n % 15," the 15 (the "FizzBuzz") part will never happen. "Else If" only happens if the first case doesn't happen, and "is divisible by 3" will always happen if "is divisible by 15" can happen. It's a reminder to put your rarer and more permissive if-statements earlier if you want everything to occur in its own time.
But wow, though. I'd really forgotten how bare-bones level 5 used to be on 3rd Ed Fighter.
0 notes
Text
THE AGE OF THE NERDS
And it is a Web site. It is also palpably short. Calder's on this list. At Viaweb we were always up against this. One experienced CFO said: The better ones usually will not give a term sheet. Many are underfunded. The PR industry has too. Naming is a completely separate skill from those you need to go running.1 My mother doesn't really need a desktop computer, you end up with a much firmer grip on the code.2 At the time I couldn't help wishing I could send him back to fifteenth century Florence to explain in person to Leonardo & Co.3
No, as it turned out. You may as well anticipate it, and the people working in it will go to work for a company of any size to get software written. So ultimately we're aiming for the same destination, just approaching it from different directions. I didn't realize till much later why he didn't care. When we were starting Viaweb, I didn't know about the concept of an accredited investor, and didn't stop to think about anything except the applications they use. Jack Lambert.4 Steam power was a sliver of the British economy when Watt started working on it. And if you can make yourself nearly immune to tricks.5 For example, if someone says they want to be on your board not just so that they can watch you.6 You don't want to give the appearance of legitimate refutation, then follow with a response as low as DH3 or even DH0.7 Imagine if you visited a site that seemed to reflect the personality of the city. So get to work on both will be browsing the Web, all made by hand.
Silicon Valley is a ghost town. But if I have to focus on graduation rates, not how much students learn. And it only does a fraction of what the finished product. Once you acknowledge that, you should never do this.8 Repeat till, like an old bachelor, has few external forces to keep him in line. And to get rich.9 Users hate bugs, but they are at least declining gracefully. It would not work well for a language where you have to be even faster, and you must know which. The first component is particularly helpful in the first place; if we could handle the detail, we could quote it to other publications, and claim that with 1000 users we had 20% of the online store market, and 5000 was our best guess at its size. Is there some way to beat this limitation?10
Whereas I suspect over at General Motors the marketing people are telling the designers, Most people who get rich tend to be ones that work. But I realize now that they're not intrinsically jerks.11 That sounds plausible. With Web-based software wins, it will always be true that most people who are poor or rich and figure out why. We spent a lot of people who want to work full-time. The reason I know that naming companies is a distinct skill orthogonal to the others you need in a startup, as in grad school, a lot of the top hackers are using languages far removed from C and C: Perl, Python, and even then you don't make much from it, because the whole social thing was tapped out. Instead of being dominated by a few, but we thought very carefully before we released software onto those servers. You can see every click made by every user.12
Notes
That's probably too much to hope for, believe it or not, and anyone doing due diligence for an investor, than a VC recently who said the wage differentials prevailing at the time it takes a startup in a cupboard saying this cupboard must be kept empty. Trevor Blackwell, who adds the cost of writing software.
This is why I haven't released Arc.
In No Logo, Naomi Klein says that a startup is taking the Facebook that might produce the next one will be a lot of people who did it with superficial decorations.
A lot of classic abstract expressionism is doodling of this process but that's not relevant to an employer, I didn't need to raise the next downtick it will probably not quite as easy as I explain later. His theory was that there were some good ideas in the 1980s was enabled by a combination of a correct program.
In practice you can ignore.
As we walked out we ran into Muzzammil Zaveri, and Cooley Godward. Most unusual ambitions fail, no one trusts that. They'll be more at home at the works of art. And convince them.
In Russia they just kill you, you should be asking will you build this? During the Internet, and don't want to trick a pointy-haired boss into letting you write has a sharp drop in utility. In a country, the Nasdaq index was.
The variation in wealth over time. It's sometimes argued that kids who went to Europe. You should always get a patent troll, either.
There are a different type of round, that they either have a group of people who are running on vapor, financially, because you have two choices, choose the harder. The actual sentence in the category of people like them—people who want to sell or not, bleeding out invites at a discount of 30% means when it converts you get older. In January 2003, Yahoo released a new airport. Otherwise you'll seem a risky bet to admissions committees, no one who's had the discipline to pull ahead in the world.
I call it procrastination when someone works hard and doesn't get paid much. Which in turn means the slowdown that comes from ads on other sites. When one reads about the prior probability of an early funding round usually reflects some other contribution by the government and construction companies.
They have no way of doing that even if they plan to have too few customers even if we couldn't decide between two alternatives, we'd ask, what that means the slowdown that comes from a startup to become one of the big winners are all that matters financially for investors. I'd argue the long term than one level of protection against abuse and accidents.
To get all you needed to read this to users, however, is that the only one person could go at a regularly increasing rate. It's not a coincidence, because they assume readers ignore something they get to go to die.
#automatically generated text#Markov chains#Paul Graham#Python#Patrick Mooney#language#applications#Web#anything#list#Leonardo#response#term#languages#Watt#economy#General
0 notes
Text
When I got my ADHD diagnosis, I looked at the questions on the screening form and thought, "If this result comes back positive, then I'm definitely not the only person in my family who has it." Questions like
"Have difficulty finishing one activity before starting another one" and
"I finish others' sentences before they can finish it themselves" and
"have trouble staying on one topic when talking"
...I thought were just weird quirks of my family, but no. When I got my results, I contacted my cousin, and she contacted her sisters and mother, and .. .. yeah. Basically everyone in my dad's side of the family is ADHD.
Now there are some problems with that, obviously, (getting family reunions to stick to a schedule is lol no) but there are some really fantastic perks. For one thing, no one in that family minds if I interrupt them while they're talking ... everyone's happy to keep 3 conversations going at the same time .... and no one minds if you fidget constantly.
But the best perk -- at least that I've found so far -- is that all of our parents have coping mechanisms, and passed them on to us. When I found myself unable to handle tasks with more than one step, my father didn't say "WTF are you talking about? It's easy! Just do the thing! Stop being lazy!" No, he could relate completely, and he sat down and taught me how to handle that.
So today, I'm going to pass on to you the coping mechanism my dad taught me for handling the "cannot put tasks in order / cannot get started / forget what I'm doing" problem. You'll need to adjust it for your own needs and your own struggles, but hopefully it'll be helpful in setting up your own process.
I'm going to walk through it with a big project I'm doing at work, just to have a concrete example. That will make some of the discussion specific to computer programming and technical writing, but I do the same thing for all my projects, so hopefully it'll be generalizable.
So to set the stage:
I was supposed to modify this piece of code -- we'll call it "Rosetta" -- to make it handle call data as well as what it was already doing. I did that.... but we now need the code to be able to handle calls (if that's wanted) but also to be able to handle NOT having calls (if THAT'S wanted).
Which is just .... ugh. So much. SOOOOOOOO much.
So. Break it down.
Step one is to get some recording mechanism - pen and paper, whiteboard, blank computer document, whatever
(Technically, this is a different coping strategy, so we'll just take a quick detour: WRITE THINGS DOWN. Your brain is shit at remembering things, and anyway you've already got limits on your working memory; why would you choose to tie up some of that limited resource in something that could be accomplished with literal stone-age technology? Don't even try to remember things. WRITE THEM DOWN.)
I like sticky notes: they're readily available in all offices, they're pretty cheap, and (most importantly) they can be rearranged if it turns out that I forgot a step or put the steps in the wrong order (which, like, let's be honest, I am definitely going to do). But they kill trees and create unnecessary methane emissions, so I've recently switched over to using virtual sticky notes. That's the format I'm going to use for this example, but you can use anything that meets your purposes.
So, you've got something to write with, you're ready to start.
The first question is: what are you trying to accomplish here? What would "done" look like? What is our goal?
I need to end up with a version of Rosetta that will make the correct results if you don't want calls, and will also make the correct results if you do.
The goal here is that you end up with a statement that you can definitively say (a) Yes this is what I wanted or (b)No this is not right because _______
In this case, in order to do that, I'll need to define "correct results" for both call- and non-call versions. But if I have that nailed down, then this statement meets that criterion: I'll be able to say "Yes, this is what I wanted: see, it makes the correct result for calls, and it makes the correct result for not-calls". Or else I'll be able to say, "No, this is wrong: see, it makes the correct result for calls, but on not-calls it does X and we wanted Y."
I have a clear, definitive standard about what I need to do and whether or not I've done it.
But there was a prerequisite there: I need to define "correct results".
So that goes on a sticky note: Create test that will compare my results to existing call!Rosetta-results and to existing not-call!Rosetta-results.
[ID: Two blue boxes, one on top of the other. The top one says in white text "Create test to compare my results to call!results" The bottom one says "Create test to compare my results to not-call!results"] OK. So now we know what we want. The second question is: what do we need to do in order to get that? Here's where the sticky-note recording system really shines, because you don't have to answer this question sequentially. You just start writing down every single thing that is not the way you want it to end up.
I need it to remove commas in the python script, not the bash script
I need to delete the first part of the get_runs() function, which doesn't do anything
I need to delete the rest of the parameters passed to build_query_script() function, because runs encompasses all the others
while we're on that subject, runs doesn't even need the group_variable, so let's pull that out of the parameter document
we also have a dmf defined, which the bash script demands but doesn't use; let's change that demand
since we're changing the structure of the parameter document, we don't need to pull new metrics for each run, so let's move that outside of the runs() loop and only run once
right now the parameter document is ALMOST but not quite "one row per template". Make it so it's actually one row per template.
among other things, that's going to require making it possible for a template to be followed by nothing at all, since it's the assumption that a template will have a metrics block after it that makes it not quite one row per template. So make it possible to publish a template with a null block
the other thing that's weirdly hard-coded is the definition of what a block looks like. Would it make more sense to separate that out into an input file, like the parameters document? On the one hand, that would make it much more flexible; on the other hand, that's another piece that can break. Don't know. Put a question mark on it.
etc
Here's what it looks like at the end of this step:
[ID: A black and white background showing many boxes in two different shades of blue, all with white text. Some of the boxes are overlapping each other.]
As you can see, at this phase you don't need to worry about any of the following:
ordering the tasks. Just stick 'em right on top of each other for now
how you're going to do any of this. Right now we just need to know what, not how
sticking to only one project. As I was working on this, it occurred to me that this whole process would have been a heck of a lot easier if someone had just made a user manual for this, and since I have to go through all the code line-by-line anyway, I might as well write up the documentation while I'm at it. (To help out future-me, if nothing else.) So I put those tasks on another color of sticky note.
making notes that make any ***ing sense to anyone else. This process is for you, and only you need to understand what you're talking about it. Phrase it in ways that make sense to your brain, and to hell with anyone else.
on that topic, also don't worry about making steps that are "too small" or "too dumb" to write down. This is for you. If "save document" feels like a step to you, then write it down.
You also don't need to get every single step involved in the project right now. Get as many as you can, to be sure, but the process is designed on the assumption that you ARE going to forget important steps, and is designed to handle that.
When you can't think of any more steps, then the third question is: what order does it make sense to do these in? Are there any steps that would be easier if you did another step first? Are there any that literally cannot be done unless another step is complete?
This is also a good place to group steps if they fit together nicely. When I used physical sticky notes, I used two different sizes; digitally I can of course make them whatever size I want.
So I have several documentation steps that (a) do need to be written to make sense to other people and (b) I really need to know what's going on before I can do that. I could write them now, but if I did, I'd just end up re-writing them based on things that change as I'm coding. So we'll move those to the end:
[ID: Three dark blue boxes with white text. They read "Create step-by-step instructions for creating your own metric agg", "Create step-by-step instructions for modifying a metric", "Create step-by-step instructions for modifying a query."]
These parts, though -- if I had all the variable structures written down, I could look at them while I'm coding. Then I won't have to keep scrolling back and forth in the code, trying to remember if it's an array or a dictionary while also trying to remember what part of the code I was working on. Brilliant. Move that to the front.
[ID: Seven dark blue boxes with white text, three large, four small. The first one is large and says "Write up explanation of how Rosetta works." The second one is large and says "Document structure of all variables." Attached to that one are four smaller boxes that say "All_blocks", "Runs", "metric", "New_block". The third large one says "Document what qb_parameters.csv contains"]
Also, while I'm at it, I should get the list of variables I need to document -- then I won't have to keep scrolling to find them. Make those sub-steps.
I definitely keep needing to look up what's in the parameters document, so I should write that down, too. For the user manual I also should write down what's in the metric document, but I don't need that for myself, so I can send that to the end.
[ID: The same three dark blue boxes from two screenshots ago (create step-by-step instructions for metric agg, modifying a metric, and modifying a query), now with another dark blue box in front of them with white text that says "Document what granular_metrics.tsv contains."]
These five are all small steps, and are all related in that they don't actually (hopefully) change the functionality of the code; they're just stuff left over from prior versions of this code. So we can lump them all together.
[ID: Five light blue boxes with white text that say "Delete first part of get_runs()", "Have build_query_script only receive the "run" parameter" "Delete dmf" "Move metrics=get_metrics() outside build_all_blocks (all the way up to the top level?" "Delete group_variable from qp_parameters"]
My brain likes this better, so that I can keep track of fewer "main steps", but that's just a peculiarity of me -- you should lump and split however you prefer to make this process easier for you.
[ID: The same five boxes from the prior screenshot, now all made smaller and attached to a larger box that says "Remove Legacy Code"]
Keep going, step by step, sticky by sticky, until you've got them in order. If -- while you're doing this -- you remember another thing you need to do, write it on a sticky and slap it on the pile; you don't have to stop what you're doing to deal with it, because it's written down and it's on the pile and it will get processed; you can just keep working on the thing you're on right now.
[ID: All the same boxes from the first screenshot, now in a neat row. Some of the original boxes have been grouped together. The ones that were said to be at the beginning of the process are on the left and the ones that were said to be at the end are on the right.]
Step four: for the love of all that's holy, SAVE THIS LIST.
Write it on your cubicle whiteboard where it won't be erased
write it on a piece of paper and tape it to the office wall
send an email to yourself
take a picture with your phone
I don't care but save it.
When I used physical sticky notes, I kept them all on the hood of my cubicle's shelf. Now, as you can see, I use Powerpoint, which is irritating af but does allow me to keep everything in a single document, which I can write down the path of.
[ID: White text on a black background says "open ~/Documents/Rosetta\ Modifications\ and \Documentation.pptx" The next line says "Notes in Rocketbook pg 10-12, 16" The next line says "Turn that into documentation that can be used for making modifications."]
And now (finally) you can answer the question "How would I even get started on that?" You look at the first thing on the list, and you treat it as its own project. You can hyperfocus on this step and completely forget about everything else this project requires, because everything you need to remember for the rest of it is written down.
If, as you're working a step, you think of something else you need to do for the big project, write it on a sticky and slap it on the pile. Don't even worry about trying to order it or identify sub-steps; as long as it's not blocking the thing you need to work on right now, you don't have to care. Just stick that bugger anywhere at all on the list, and go back to what you were doing. When you un-hyperfocus and come back to look at your list, there'll be a big sticky note stuck sideways across all the rest of the steps, and you'll remember to file and order it then.
Other benefits of this system
1) The first question really helps with unclear directions from your boss. You can take whatever they told you to do, and translate it into a requirement that is clearly either met or not-met, and then run it back by the boss.
If they say, "No, no, we want ______" then phew! You just saved a huge miscommunication and weeks of wasted work! What a good employee you are! What an excellent team player with strong communication skills!
If they say "Yes, that's what I want," then you know -- for sure -- what it is you're trying to accomplish. Your anxiety is reduced, and your boss thinks you're super-conscientious.
(And if your boss is a jerk who likes to move the goalposts and blame it on their subordinates, then have this conversation over email, so you can show it to their boss or to HR should it become necessary.)
2) Having this project map means that when you spend an hour staring at the requirements and trying to figure out how to get started (which, let's be honest, you were definitely going to do anyway) ... When your boss/coworker comes by and says, "How's it going?" Instead of having to say "I haven't even started 😞" You can say, "Pretty well! I've got all the steps mapped out and am getting ready to start on implementation!" and show them your list, and they think you're very organized and meticulous. 3) Sometimes, especially in corporate jobs, you and your coworkers will run into a problem that's too big for even Neurotypicals to hold all in their heads. At that point, the NTs will be completely lost -- they've never had to develop a way to handle projects they can't just look at and know how to get started. So then you pipe up in the meeting and say, "OK, well, what exactly are we trying to accomplish?" and everybody at the conference table looks at you like you're a goddamned genius and you don't have to tell them that you use this exact same process to remember how to make a sandwich 😅
4) Having this project map makes it so much easier to stop work and then start it up again later, but this post is already really really really long, so I'm going to address that in a separate (really really long) post.
#adhd#adhd life#tips#semi-solicited advice#gpoy#your mileage may vary#long post#very long post#sorry I wish I wrote more concisely too
117 notes
·
View notes
Text
"Slow Cherry" Chapter 4
(cross-posted on AO3)
Tags: Mild Depressive Episode, Drinking (everyone is of age; no alcohol abuse), drunk texting, accidental face reveal
Snippet: A soft laugh drifted over the line. “Are you still drunk, Dream?”
He hummed. “Maybe a little.”
“You’re a mess, Dream.”
“Yeah, I know. Thanks for putting up with me.”
“Anytime, love.”
Read Chapter 1 Here
Read Chapter 2 Here
Read Chapter 3 Here
No sexual content in this chapter.
Dream spent the next few weeks losing himself in his schoolwork.
Every time he closed his eyes, he thought of George, heard his voice, saw his smile. It was wreaking havoc on his attention span. His feelings toward the older man were confusing to say the least. It was easier to hyperfixate on school than to try and sort out why he felt this way about a man he’d never even met face-to-face.
Knowing they were only a few short weeks away from living not only in the same country, but the same city made it very, very hard to think about anything else.
Luckily, he had a hardcore coding assignment coming up, so he locked himself in his bedroom with the lights off and drowned himself in Python.
Sapnap noticed something was off and made sure to text Dream whenever he got food (conveniently always with a little more than one person could eat alone). On the rare occasions Dream emerged from his cave, Sapnap looked at him with concern written in every corner of his face, but he didn’t ask what was wrong. He just pushed a bottle of water or a granola bar across the counter to him and told him he looked like shit.
Dream was sure he was right. It was winter, so he hadn’t properly been in the sun in months—for a Florida boy, that was too long. He’d skipped a few showers, and the only time he’d eaten was when Sapnap made sure he did. He shuffled into the bathroom to scrutinize himself under the fluorescents. He squinted in the bright light, so used to the darkness of his room. His hair was a mess, several days overdue for a wash and unbrushed for longer than Dream could remember. He also needed to shave, not liking the scratchy growth around his jaw. There were dark circles around his blood-shot eyes and his skin was paler than it had been in years. He scoffed at himself before stripping and jumping in the shower.
The hot water burned his skin, but it was a religious experience. He hadn’t realized how far he’d pushed himself and how deep he’d let himself fall until it was over. His last final was the next morning, so he was almost done. Thank God.
As it usually did when he had a free moment, his mind strayed to George.
They had still been snapping back and forth, which soothed some of the ache. But it felt like he was looking down the barrel of addiction: he knew that taking one more hit, one more drink, would land him far beyond his limit, pushing him past the fabled Point of No Return. He considered ghosting George, but just thinking about that made his stomach turn. Sex workers got enough shit as it was without their clients pushing boundaries, trying to make something real out of their arrangements, or dropping them outright without warning.
Dream was so fucking pathetic.
He emerged from his shower scrubbed raw, physically and emotionally. He didn’t feel great in his head still, but at least he didn’t stink. He brushed his teeth to cover all his hygienic basics, put on a clean pair of pajamas, and went to bed.
And just like that his semester was over. He did well on his final—not as well as he’d hoped, considering how much time he’d spent studying, but well enough to stay on track to graduation.
He emerged from his final to find a snap from George waiting for him on his phone.
The older man was sitting on his bed, throwing a peace sign to the camera with a huge, cheesy grin. There were boxes stacked around the bed, the only thing left in the room being his bed.
Good luck on your final! Getting ready to put my stuff in the shipping container. Only a few more days.
Despite himself, Dream smiled at the message.
Dream and Sapnap celebrated the end of the semester that night in the only way college kids knew how: by buying as much beer as they could afford and inviting over as many people as they could fit into their apartment. Someone connected their phone to the sound system in the living room, blasting hip hop music over the subwoofer. Dream knew they were going to get a noise complaint from their neighbors, but he was too excited—and drunk—to care.
He got a few drinks in him and danced when he was pulled from the couch. Faces blurred before him, but he knew almost everybody there, so he didn’t mind whenever someone pressed up against him. Someone else pressed another beer into his hands. He was sweating, the heat in the apartment still fighting the December cold even with a few dozen people packed into the cramped space. His jacket came off at some point, so he was only in his beer-stained t-shirt and jeans.
He could happily say he had nothing on his mind. He was just happy, done with school for the next month and surrounded by his favorite people in the world.
But not his favorite person in the world.
No, that person wasn’t here.
He stumbled to the bathroom at one point to piss, wobbling a little and struggling to aim. He washed his hands and stared at himself in the mirror. He looked much different than he had the previous night: he was flushed from the alcohol and dancing, for one, but he also felt lighter. Maybe it was the beer talking, but he felt good. He always liked life better when he wasn’t in school. And that message from George made him so, so happy.
Only a few more days.
George.
Just thinking about him made Dream smile.
He pulled out his phone just to look at the photo, which he’d screenshotted. They’d agreed they could save anything they sent each other except for nudes, which they had to get permission to keep. But innocent little messages like that one were free game. Dream was thankful for that, since it let him get a fix whenever he needed it. He found himself pulling out his phone to look at pictures of his camboy whenever he had a free moment to twiddle his thumbs.
He wrote a message to George, not really paying attention to what he said. Mainly he just wanted George to think of him while Dream was thinking of George. He sent the message and pocketed his phone. The music became unmuffled as he opened the bathroom door and someone immediately grabbed him and pulled him back into the fray.
Dream had… many regrets come morning.
Before he even opened his eyes, he knew how much of a doozy this hangover was. His head was pounding with the beat of his heart, his mouth felt packed with sand, and his stomach was turning. He felt like he needed to puke, but he was too numb to get up. Besides, he had a feeling he’d only end up dry heaving.
He scrubbed a hand over his eyes, debating going back to sleep. Something on the bed shifted next to him (much bigger than Patches), alerting him to the fact that he wasn’t alone.
After some coaxing, he squinted his eyes open and blinked against the scarce light peeking around the curtains—it wasn’t much light, but it was enough to make him want to die. He turned to see someone’s back facing him in the bed, a dude. Dream sent up a silent prayer of thanks that both the dude and Dream himself were fully clothed. He levered himself onto an elbow to see who was next to him. It was Skeppy, of all people, and he wasn't alone. Puffy was there too, curled up against Skeppy’s chest at the edge of the bed. Dream had no clue how neither of them had fallen off yet, so tightly wound together on the ledge. But they were there, snoozing happily.
Someone was snoring, but it wasn’t either of them. Dream sat up further and poked his head around to find Bad sprawled on the floor beside the bed. It seemed he’d wanted to get in with Skeppy and Puffy, but there hadn’t been enough room with Dream there as well. Skeppy’s hand was dangling off the side of the bed where Bad was; they must have fallen asleep holding hands. Despite his head and his stomach trying to remove themselves from his body, Dream smiled. They were all so sweet together.
He extracted himself from the bed slowly, not wanting to disturb them, and grabbed his phone charger from the power strip at his desk. He slipped into the bathroom and closed the door behind himself carefully. His phone was dead in his pocket, so he plugged it in at the bathroom counter as he set about cleaning himself up. He contemplated trying to throw up but decided against it. It might only make him even more sick. He washed his face and brushed his teeth. He definitely needed a shower and a change of clothes, but he didn’t have the energy for it yet.
A soft ding told him his phone was back on. He dried off his hands and picked it up. He had a couple of missed notifications. Karl left one saying he was taking Sapnap back to his place because someone had already taken Sapnap’s room. There was one from his next-door neighbor asking him to turn the music down or they would call the cops. Dream assumed that was a bluff, considering he didn’t remember the cops showing up at any point.
The last notification caught his eye.
It was a Snapchat message from George, received around 3 a.m.
Dream, call me when you get this. I don’t think you meant to send that. I need to talk to you.
Dream’s heart sunk.
What had he sent George? Had he drunk texted him? What had he said?
Oh God, he hadn't told him anything... incriminating, right? Had he said anything about wanting to be more than a sugar daddy, a friend with benefits, a casual observer?
There wasn’t anything saved in their chats above George’s most recent messages. The last message before that was Dream’s response to George’s “good luck with finals” message.
Wait. No it wasn’t.
The time stamp was wrong.
Dream had sent George a picture around 2:30 last night, when he was several drinks deep. He remembered going to the bathroom and texting George, but he couldn’t remember what he’d said no matter how hard he’d tried. He thought it had been a typed message in chat, not a picture.
Maybe he’d sent a dick pic? He hoped not. He had been too drunk to get it up at that point. If that’s what it was, it had to be horribly unflattering. And if not a dick pic, what had he taken a picture of?
His blood ran cold.
He was hitting the “call” button before he could overthink it.
George answered a few rings later. “Dream?”
“What did I send?” His voice was rough. He was trying to keep quiet so he didn’t bother his guests, and his mouth was dry even after brushing his teeth. He sounded like shit.
George sounded uncomfortable when he spoke. “Dream, I’m sorry. I don’t think you meant to—“
“What did I send, George?”
He knew the answer in the silence before George spoke. His stomach dropped when he said it anyway. “You—you sent me a picture of your face.”
Dream hung his head. Perfect. Of course. He’d had grand plans to pick George up from the airport and reveal his face then, or he’d at least make it sexy over their video calls or something. He wanted to make it a spectacle. Instead he’d drunk texted him a selfie.
“It wasn’t bad,” George tried to reassure him. “I couldn’t see it too clearly anyway. It was in the mirror, and you were very drunk. You were a little blurry.”
“What was I doing?”
“You were, like, leaning on the counter. You were smiling. You had a, uh…”
Dream frowned harder. “I had a what?”
“You had—have—a hickey on your neck.”
“What?” Dream stood up straight and pulled the collar of his shirt. Sure enough, there was a dark red mark on his neck, barely hidden by his shirt. “Huh. How the hell did that get there?”
George snorted. “Sounds like you had a fun night.” There was something bitter in his tone.
Dream scrambled for a response that wouldn't put him in the metaphorical dog house. “I don’t—I didn’t sleep with anyone. I would know. It just—my friends are super touchy. One of them probably did it while we were dancing.”
“You don’t have to explain yourself to me, Dream,” George said softly. “I’m a big boy. I know I’m not the only person in your life.”
“I do have to explain myself, though.” Dream ran his hand through his hair. “I care what you think about me. I don’t want you to think I sleep around. I don’t. Not really. Not anymore, at least. And I wanted to surprise you when you saw my face. I wanted it to be a thing.”
“Dream, calm down.” There was something calming about the British man’s voice, especially when he used that tone, like he was soothing a spooked animal. Which, for all intents and purposes, Dream was. “It’s okay. I’m not upset. I was just worried about you. I know it’s a thing for you, people seeing your face.”
“Oh.” Dream’s heart was thundering in his chest. It was making his head throb harder, but he didn’t particularly care at that moment. “Thank you. That’s—you’re really considerate. And did you—I mean, did…”
“You’re very handsome, Dream.”
Dream was dumbfounded. That wasn’t what he was going to ask, but he’s glad George said it. He wasn’t really concerned about that particular aspect of this whole ordeal, but it was nice to know. “Oh. Thanks. That’s… you too. I mean, I think you’re—fuck.”
George’s laugh echoed across the line, settling Dream’s frazzled nerves. “I know, honey. You’ve told me before. But let's continue this conversation when you’re not so hungover, yeah?”
Dream hummed in agreement. “You can tell?”
“You were sloshed last night. I could tell just by looking at you. Partied hard, hmm?”
Dream snorted. “Just a little. I don't even want to see the state of my living room right now. And there’s, like, two-thirds of a thruple in my bed right now.”
“Oh?” Amusement and interest tinged the older man’s voice.
“No, not like that,” Dream laughed. “They passed out in there. Their third is on the floor. They’re good friends of mine. No clue when we all fell asleep though.”
“Sounds like you need to get started making coffee for everyone, then. Be a good host.”
“Probably. I thought about ordering pizza. I have no clue how many people stayed over though.”
“Celebrating the end of term, then?”
A yawn worked its way out of Dream. “Yeah,” he said. “We all finished up yesterday so we just bought a bunch of beer and invited folks over.”
“Sounds fun.”
“We’ll invite you next time,” Dream said, his tongue loose from his hangover. Oh well. “I think you’d like my friends. They’re all… absolutely insane. But they’re the coolest, nicest people you’ll ever meet.”
A soft laugh drifted over the line. “Are you still drunk, Dream?”
He hummed. “Maybe a little.”
“You’re a mess, Dream.”
“Yeah, I know. Thanks for putting up with me.”
“Anytime, love.”
Previous Chapter
Next Chapter
#fanfic#dnf#dnf fanfic#dreamnotfound#dreamnotfound fanfic#camboy au#historians will say they were close friends#:)#very close friends#slow cherry#kayte overmoon
6 notes
·
View notes
Text
Top 3 IDE'S for Python Online and Offline | Python Text Editor | Total Tech
What is IDE’s?
IDE is a text editor or code editor that helps us to do coding faster and give suggestions for code. The full form of IDE is ‘Integrated Environment Development’. IDE increases the experience of coding and gives colorful text for experiencing as a coder.
These IDE’s were created for coding. Maximum all developers use IDE for coding. On that IDE you can write any type of codings like Python, Java, HTML, CSS, JavaScript, SQL, and PHP. So, IDE’s are the most required thing for any type of developer.
Top 3 IDE’s for coding?
There are many types of IDE’s but I will show you the top 3 IDE’s only because all these types of IDE are used by 87%-90% of developers and If you want any IDE for any specific type of coding language So, I will also show you that IDE.
On that IDE’s you can write all types of programming languages and all these IDE’s are trusted, so you can do coding safely. So, without do any further delay let’s see all these IDE’s for coding-:
Read also: New product with little technology change | Total Tech
Read also: Laptop vs Desktop which is better for coding | Total Tech
VS Code(Visual Studio Code)
This is the most popular IDE for coding. This IDE was owned by the most trusted company Microsoft. So, You can use this IDE freely, this IDE Gives reliability without any problem. VS Code was available for all types of Operating systems (OS).
VS Code was good in graphics and when we go to write a code at that time it fills our code with a different color this experience as a coder. VS Code has different settings like you can do text small or large by Scroll the mouse upwards or downwards.
The main thing that people prefer VS Code is you can write any type of coding. The VS Code provides you different types of extensions for different programming languages like for python programming you can use python extensions.
This Extension of VS Code helped you to correct spellings of your code and when you type a letter of your code it automatically suggests that code you want to write then you have to click on that code then it automatically writes that code. VS Code also provides you a terminal and debugger that helps you much more when you work on server-side language.
It also shows the number of lines of code you type. VS Code has shortcut keys, like If you want to delete or write any code on different lines, So you have to type CTRL+D shortcut key, You can use multiple cursors to type code for multiple cursors CTRL+ALT+down arrow shortcut key.
VS Code is the best IDE for coding and I also use VS Code for coding and I will recommend you to use VS Code for coding.
Sublime Text Editor
The sublime text editor is the best in graphics and user experience. If you want to work on front-end languages like HTML, CSS, JavaScript so, this is the best text editor.
The sublime text editor also gives you a suggestion of your code. But one sublime text editor(IDE) has one lack of thing is sublime text editor does not have an inbuilt terminal but in VS code case it has an inbuilt terminal.
Almost all features of VS Code are the same in Sublime text Editor but in Sublime text editor, it is more reliable and good experiencing in frontend programming.
PyCharm
PyCharm is an IDE for the Python programming language. This IDE is created for a particular programming language Python because nowadays all developers move with python. The demand for python has increased then the use of IDE was also increased for requiring things to work on python is available in Pycharm.
Pytharm fulfills all requirements to work on python programming. If you remember in the intro I say that I will also show you a particular IDE for the programming language that Pycharm IDE.
Read also: New product with little technology change | Total Tech
Read also: Laptop vs Desktop which is better for coding | Total Tech
Website: https://www.tech2total.in/
1 note
·
View note
Text
Linuxizing the Office: An Interview with The Mad Botter

If you follow us on Twitter, you’ve probably seen software development company The Mad Botter dangling a System76 machine before your very eyes. Thanks to the company’s recent conversion to Linux, that’s not the only System76 machine you’ll find there! This week, we sat down with Michael Dominick, The Mad Botter’s Founder and CEO, to discuss his team’s switch to System76.
What kind of work goes on at The Mad Botter?
Michael: We’re a software development company. We mostly code on Python, along with some Ruby and Rust, coding IDEs, and using a whole lot of LibreOffice. One of our products is a radar display that runs on Linux and Windows. We actually use a Thelio as a flight simulator to test our software.
Our new product is an automation tool called Rabbot. It involves us having to very quickly spin up a bunch of Ubuntu servers for customers who need them. Having the .deb instances on our computers has made that process a hundred times easier, because we can deploy test units to our machines with the same docker container that works exactly the same as it does on our cloud instances.
Why is it called Rabbot? And what’s with The Mad Botter?
I went a little crazy with the Lewis Carroll references. I have a degree in literature, so I’m very familiar with Carroll’s work. When I moved from New Jersey down to Florida, the name of the company conflicted with a very large football team in Florida, and they did not like that. I had to rejigger everything. We already had a product called Alice at the time, so we decided to build around that.
How long have you been in business?
The Mad Botter has been around for 3 years, and the company before it in New Jersey was around for an additional 3 years. I’ve been running development businesses for around 11 years.
How did you hear about System76?
When I was hosting Coder Radio with Chris Fisher, he would always tease me for being an Apple guy. You know—hipster coffee, the whole thing. He told me, “If you really want a controlled experience to try Linux, take a look at these guys in Denver.” So I did. It wasn’t a huge investment to try on a laptop, and I ended up loving it, so I got the Ratel tower. That was the beginning of a long road to Linux purity.
What System76 machines do you have around the office?
I was the first one to adopt a System76 computer at the company. Now, to make life easy, we only buy System76 computers. Currently we have an older Galago Pro, a Thelio, and 3 Lemur Pros. There’s a couple of Darter Pros running around, too. All of our machines are running Pop!_OS 20.04.
Moving forward, we’re standardizing down to the Lemur Pro and the Oryx Pro. People who have to run VMs are getting the Oryx Pro because you can spec it up a little more. Everybody else is using the Lemur Pro, which is a great all-around computer. The Thelio is a special case because we have to run our flight simulation software on it.

What prompted you to bring your company fully onto Linux?
Honestly, it was macOS Catalina. We were having too many problems with people updating OS X and breaking Homebrew packages, to the point where we had to reinstall our custom toolchain every time we updated. The last guy on Mac updated to Catalina recently, and he had to struggle with Excel libraries because Apple moves things between OS versions. It just wasn’t worth it. I’ve been talking about it for about a year with my CTO.
All of our back-end service runs Ubuntu. Most of the client-side work we’re doing is for IOT devices, and that’s all Linux. We ended up basically having an expensive machine so that we could emulate Linux on anything. It didn’t make a lot of sense to keep using Mac, so we switched.
How was the transition from macOS to Linux?
Actually super easy! Once we wrote a few setup scripts and packages we needed for different jobs in our pipeline, we were up and running. We already had a bunch of scripting and automations for the servers we had, and they’re all on Ubuntu, so it’s not a big jump in terms of the command line.
How did you find the overall experience on Pop!_OS 20.04?
I found it pretty intuitive. Learning the keyboard shortcuts took about a week. I really don’t have any issues. I like the tiling, I use that every day. It definitely makes it easier to multitask on a laptop screen.
Have you tried other distros?
We had a brief stint with Fedora, but because all of our back end was on Debian or Ubuntu, it made sense to stick with that Debian world. We also tried Linux Mint briefly. But honestly the ease of being able to buy a system pre-installed with Pop!_OS that you guys support—where I can just go to your GitHub and see if there’s an issue—is an attractive option.
Have you had any experiences with our support team?
I have a bad habit of spilling tea and other beverages in my laptops... A few times you guys were able to walk me through my issue. I think the most recent one was with Thelio. There was an issue with the graphics card where only one of the DisplayPorts actually worked, so they walked me through trying different things and we were eventually able to figure out why that was happening.
______________________________________________________________
Committed to STEM education and open source software, The Mad Botter INC team is holding a Fourth of July contest for high school and college students! Create and share an open-source project that addresses ballot access or assists with voting, and you can win a System76 Thelio. Hey wait, that’s us! Check out the contest page for details on how to enter.
Michael Dominick is also host of The Mike Dominick Show, where he looks at the latest news from the worlds of technology and open source. Listen to his interview with System76 Principal Engineer Jeremy Soller—stay tuned for the teaser!
If you want to talk to us about how System76 has helped your business, contact [email protected].
#engineering#educationaltechnology#tech#technology#stem#linux#automation#software#development#system76#76#Pop!_OS#Ubuntu#Thelio#computers#laptop#laptops#desktops#mac#apple#alice in wonderland#fedora#mint#ruby#rust#python#catalina#coder radio
10 notes
·
View notes
Text
Trying to build an AI to replace myself
I was suggested (jokingly) to build an AI that will replace me and I decided to give it an actual try. I decided to use GPT-2, it was a model that a couple years ago was regarded as super cool (now we have GPT-3 but its code isn’t released yet and frankly my pc would burst into flames if i tried to use it).
At the time, GPT-2 was considered so good that OpenAI delayed releasing the source code out of fear that if it falls into the wrong hands it would take over the world (jk they just didn’t want spam bots to evade detection with it).
The first lesson I learned while trying to build it was that windows is trash, get linux. The 2nd lesson i learned while trying to build it was that my GPU is trash, and after looking for one of the newest models online...
...I decided I’d just use Google’s GPUs for the training.
There’s 5 models of GPT-2 in total, I tried 4 of them on my pc and it crashed every single time, from the smallest to the biggest it goes
distilGPT2
GPT-2 124M
GPT-2 355M
GPT-2 774M
GPT-2 1.5B
From a little reading around, it turns out that even though 1.5B is better than 774M, its not significantly better, and distilGPT2 isn’t significantly worse than 124M.Every other improvement is significant, so my plan was to use distilGPT2 as a prototype, then to use 774M for an actually decent chatbot.
The prototype
I created a python script that would read the entire message history of a channel and write it down, here’s a sample.
<-USERNAME: froggie -> hug <-USERNAME: froggie -> huh* <-USERNAME: froggie -> why is it all gone <-USERNAME: Nate baka! -> :anmkannahuh: <-USERNAME: froggie -> i miss my old color <-USERNAME: froggie -> cant you make the maid role colorlesss @peds <-USERNAME: Levy -> oh no <-USERNAME: peds -> wasnt my idea <-USERNAME: Levy -> was the chat reset <-USERNAME: SlotBot -> Someone just dropped their wallet in this channel! Hurry and pick it up with `~grab` before someone else gets it!
I decided to use aitextgen as it just seemed like the easiest way and begun training, it was... kinda broken
It had the tendency to use the same username over and over again and to repeat the same emote over and over again.
While it is true that most people write multiple messages at a time, one sentence each, and they sometimes write the same emoji multiple times for emphasis, it’s almost never as extreme as the output of GPT2.
But you know what? this IS just a prototype after all, and besides, maybe it only repeats the same name because it needs a prompt with multiple names in it for it to use them in chat, which would be fixed when id implement my bot (just kidding that screenshot is from after i started using prompts with the last 20 messages in the chat history and it still regressed to spam).
So i made a bot using python again, every time a message is sent
it reads the last 20 messages
stores them into a string
appends <-USERNAME: froggie -> to the string
uses it as a prompt
gets the output and cuts everything after a username besides froggie appears
sends up to 5 of the messages it reads in the output
waitwaitwait let me fix that real quick
hey, it’s saying words, its sending multiple messages if it has to, it never even reached the limit of 5 i set it to so somehow it doesn’t degrade into spam when i only get the messages with my name on it....
ok that was just one time
but besides the fact that pinging and emoting is broken, (which has nothing to do with the AI) it was a really succesful prototype!
The 774M
The first thing i noticed was that the 774M model was training MUCH slower than the distilGPT, i decided that while it is training i should try to use the default model to see if my computer can even handle it.
It... kinda did..... not really
It took the bot minutes to generate a message and countless distressing errors in the console
>this is bad
This is bad indeed.
With such a huge delay in messages it can’t really have a real-time chat but at least it works, and i was still gonna try it, the model without training seemed to just wanna spam the username line over and over again, but it is untrained after all, surely after hours of training i could open the google colab to find the 774M model generate beautiful realistic conversations, or at least be as good as distilGPT.
(I completely forgot to take a screenshot of it but here is my faithful reenactment)
<-USERNAME froggie -> <-USERNAME froggie -> <-USERNAME froggie -> <-USERNAME miyu -> <-USERNAME miyu -> <-USERNAME levy -> <-USERNAME peds -> <-USERNAME miyu -> <-USERNAME peds ->
It had messages sometimes but 80% of the lines were just username lines.
On the upside it actually seemed to have a better variety of names,
But it still seemed unusable, and that is after 7000 steps, whereas distilGPT seemed usable after its first 1000!
So after seeing how both the ai and my computer are failures i decided I’d just give up, maybe I’ll try this again when I get better hardware and when I’m willing to train AIs for entire days.
So why in the hell is the 774M model worse than distilGPT?
I asked around and most answers i got were links to research papers that I couldn’t understand.
I made a newer version of the script that downloads the chatlogs so that messages by the same person will only have the username line written once, but I didn’t really train an AI with it yet, perhaps it would have helped a bit, but I wanna put this project on hold until I can upgrade my hardware, so hopefully this post will have a part 2 someday.
0 notes
Text
Version 379
youtube
windows
zip
exe
macOS
app
linux
tar.gz
source
tar.gz
Happy New Year! Although I have been ill, I had a great week, mostly working on a variety of small jobs. Search is faster, there's some new UI, and m4a files are now supported.
search
As hoped, I have completed and extended the search optimisations from v378. Searches for tags, namespaces, wildcards, or known urls, particularly if they are mixed with other search predicates, should now be faster and less prone to spikes in complicated situations. These speed improvements are most significant on large clients with hundreds of thousands or millions of files.
Also, like how system:inbox and system:archive 'cancel' each other out, a few more kinds of search predicate will remove mutually exclusive or redundant predicates already in the search list. system:limit predicates will remove other system:limits, system:audio/no audio will nullify each other, and--I may change this--any search predicate will replace system:everything. I have a better system for how this replacement works, and in the coming weeks I expect to extend it to do proper range-checking, so a system:filesize<256KB will remove a system:filesize<1MB or system:filesize<16KB or system:filesize>512KB, but not a system:filesize>128KB.
downloaders
I have started on some quality of life for the downloader UI. Several of the clunky buttons beneath the page lists are now smaller icons, you can now 'retry ignored' files from a button or a list right-click, any file import status button lets you right-click->show all/new in a new page, and the file import status list now lets you double-click/enter a selection to show that selection in a new page.
I have rolled in a fixed derpibooru downloader into the update. It seems to all work again.
With the pixiv login script confirmed completely broken with no easy hydrus fix in sight, if you have an 'active' record with the old, now-defunct default pixiv login script, this week's update will deactivate it and provide you with a note and a recommendation to use the Hydrus Companion web browser addon in order to login.
the rest
m4a files are now supported and recognised as audio-only files. These were often recognised as mp4s before--essentially, they are just mp4s with no video stream. I have made the choice for now to recognise them as audio-only even if they have a single frame 'jpeg' video stream. I hope to add support to hydrus for 'audio+picture' files soon so I can display album art better than inside a janked single-frame video.
The 'remove' and 'select' menus on the thumbnail right-click have been improved and harmonised. Both now lay out nicely, with file service options (like 'my files' vs 'trash' when there is a mix), and both provide file counts for all options. Support for selecting and removing from collected media is also improved.
full list
downloaders:
the right-click menus from gallery and watcher page lists now provide a 'remove' option
gallery and watchers now provide buttons and menu actions for 'retry ignored'
activating a file import status list (double-clicking or hitting enter on a selection of rows) now opens the selection in a new page
file import status buttons now have show new/all files on their right-click menus
on gallery and watcher pages, the highlight, clear highlight, pause files, and pause search/check buttons are now smaller bitmap buttons
as the old default pixiv login script is completely broken, any client with this active will have it deactivated and receive an update popup explaining the situation and suggesting to use Hydrus Companion for login instead
updated the derpibooru downloader
.
search:
when search predicates are added to the active search list, they are now better able to remove existing mutually exclusive/redundant predicates:
- system:limit, hash, and similar to predicates now remove other instances of their type
- system:has audio now removes system:no audio and vice versa
- any search predicate will remove system:everything (see how you feel about this)
improved 378's db optimisation to do tag searches in large file domains faster
namespace search predicates ('character:anything' etc...) now take advantage of the same set of temporary file domain optimisations that tag predicates do, so mixing them with other search predicates will radically improve their speed
wildcard search predicates, which have been notoriously slow in some cases, now take full advantage of the new tag search optimisations and are radically faster when mixed with other search predicates
simple tag, namespace, or wildcard searches that are mixed with a very large system:inbox predicate are now much faster
a variety of searches that include simple system predicates are now faster
integer tag searches also now use the new tag search optimisation tech, and are radically faster when mixed with other search predicates
system:known url queries now use the same temporary file domain search optimisation, and a web-domain search optimisation. this particularly improves domain and url class searches
fixed an issue with the new system:limit sorting where sort types with non-comprehensive data (like media views/viewtime, where files may not yet have records) were not delivering the 'missing' file results
improved the limit/sort_by logic to only do sort when absolutely needed
fixed the system:limit panel label to talk about the new sorted clipping
refactored tag searching code
refactored namespace searching code
refactored wildcard searching code and its related subfunctions
cleaned all mappings searching code further
.
the rest:
m4a files (and m4b) are now supported and recognised as separate audio-only mp4 files. files with a single jpeg frame for their video stream (such as an album cover) should also be recognised as audio only m4a for hydrus purposes for now. better single-frame audio support, including functional thumbnails and display, is planned for the future. please send in any m4a or m4b files that detect incorrectly
the remove thumbnail menu has been moved to a new, cleaner file filtering system. it now presents remove options for different file services and local/remote when available (most of the time, this will be 'my files'/'trash' appearing when there is a mix), including with counts for all options
the select thumbnail menu is also moved to this same file filtering system. it has a neater menu, with counts for each entry. also, when there is no current focus, or it is to be deselected, the first file to be selected is now focused and scrolled to
for thumbnail icon display and internal calculations, collections now _merge_ the locations of their members, rather than intersecting. if a collection includes any trash, or any ipfs members, it will have the appropriate icon. this also fixes some selection-by-file-service logic for collections
import folders, export folders, and subscriptions now explicitly only start after the first session has been loaded (so as well as freeing up some boot CPU competition, a quick import folder will now not miss publishing a file or two to a long-loading session)
the subscription manager now only waits 15s before starting first work (previously, the buffer was 60 seconds)
rearranged migrate tags panel so action comes before destination and added another help text line to clarify how it works. the 'go' confirmation dialog now summarises tag filtering as well
tag filter buttons now have a prefix on their labels and tooltips to better explain what they are doing
the duplicate filter right-center hover window should now shorten its height appropriately when the pairs change
fixed a couple of bugs that could appear when shutting down the duplicate filter
hackily 'fixed' an issue with duplicates processing that could cause too many 'commit and continue?' dialogs to open. a better fix here will come with a pending rewrite
dejanked a little of how migrate tags frame is launched from the manage tags dialog
updated the backup help a little and added a note about backing up to the first-start popup
improved shutdown time for a variety of situations and added a couple more text notifications to shutdown splash
cleaned up some exit code
removed the old 'service info fatten' maintenance job, which is not really needed any more
misc code cleanup
updated to Qt 5.14 on Windows and Linux builds, OpenCV 4.1.2 on all builds
next week
Next week is a 'medium size job' week. Now I am more comfortable with Qt, I would love to see if I can get an MPV window embedded into hydrus so we finally have legit video+audio support. I can't promise I can get anything but a rough prototype ready for 380 for all platforms, and there is a small chance it just won't work at all, but I'll give it a go.
Hydrus had a busy 2019. Starting with the jump to python 3, and then the duplicate storage and filter overhaul, the Client API, OR search, proper audio detection, the file maintenance system, multiple local tag services, tag migration, asynchronous repository processing, fast tag autocomplete, and all the smaller improvements to downloaders and UI workflow and latency and backend scheduling and optimisations for our growing databases, and then most recently with the huge Qt conversion. The wider community also had some bumps, but we survived. Now we are in 2020, I am feeling good and looking forward to another productive year. There are a couple of thousand things I still want to do, so I will keep on pushing and try to have fun along the way. I hope you have a great year too!
2 notes
·
View notes
Text
AO3 stats project: basic questions
Post 2 in my series of posts on statistics of works posted on the Archive of Our Own. The previous post described how I got the data. This one is basic content questions: broad characteristics of the posted works.
The Data | Basic Questions | Fandoms | Tags | Correlations | Kudos | Fun Stuff
Thanks to @eloiserummaging for beta reading these posts; any remaining errors are my own. A Python notebook showing the code I used to make these plots can be found here.
My total dataset includes 4,337,545 works, with a collective hit total of 5,959,490,736 hits, and a collective word count of 28,543,023,393 words. That's equivalent to over 26,000 entire Harry Potter series of words. And the number of hits is an underestimate--anything posted before 2015 or so has the number of hits it had when I first grabbed the data in 2015, missing out on 3-4 years of collecting extra hits.
Let's start by looking at when works on the Archive were posted. (Remember, this only shows the most recent chapter of any work because of how I downloaded the data--so this should underestimate the number of works posted on any given day.) Here's a smoothed graph showing the number of works posted per day over time:
It increases over time, as you'd expect, since the number of people using the Archive is growing. Cool.
How does the number of works posted vary throughout the year? We have to take out that increasing trend, or we'll always show more works posted in December than January--not because individual authors prefer December, but because more people joined over the course of the year. So I'm going to plot the difference between the number of works posted on an individual day and the number of works that would have been posted if the plot I just showed was a straight increasing line from Nov. 15, 2009 until today. (It isn't, but all the stuff that isn't a straight line is the interesting part!) Here's a heatmap of posting days:
On light-colored days, there were many more works posted than you would have expected if nobody had any preferences for day of posting. You can see Yuletide pretty clearly (and other winter-break fests), and also Valentine's Day! And, to a lesser extent, Halloween. There seems to be a little less activity in September through November, though that might be an artifact of my simple “linear increase” model, but other than that there aren't particular posting days, averaged over the whole Archive.
Do creators post more on certain days of the week? (Unlike the heatmap above, the colors aren’t important in bar charts like this--I’m just trying to make them look pretty. :) )
Wow, yeah! About 20% more works posted on Sunday than on Friday, the least-popular day of the week for posting.
Is reader behavior the same? Since the default display is reverse chronological order, people are more likely to view works posted on the day they visited the Archive than works posted earlier, so we can look at the total number of hits for fics posted on the different days:
This is basically the same as the previous chart, except Thursday just edges Friday as the lowest day of the week. That means that, on average, you’ll get the same number of hits regardless of which day you post. In the past, I’ve sometimes tried to post on a day I think lots of readers will be around to read it, but apparently that wasn’t necessary--readers will find my stuff anyway! Useful to know.
Works aren't tagged with their work type as one of the default pieces of information (unlike, say, word count), but people who post things other than fanfiction can choose to tag their works. The most common non-fanfiction things are podfic (audiobooks), fanart (art), and fanvids (film/video art): how many works get tagged with those tags?
Again, that's probably an undercount because not everybody tags, and I may have missed some of the relevant tags. This adds up to between 1 and 2% of the total works count in this dataset.
Not everything on the Archive is in English--here are the top ten languages...
Very dominated by English. Still, I wouldn’t have guessed some of those languages--Bahasa Indonesia in particular, but I also wouldn’t have put Italian or Polish that high.
How are the works distributed among ratings and categories? (Note that works can have multiple categories, but only one rating.)
I had no idea the ratings distribution looked like that! But I’m not surprised that M/M is dominating the categories. I suspect that looks different at other fic archives like Wattpad and ff.net--the Archive caters to an older and queerer audience, if I remember my fan studies articles properly. Although it might be conventional wisdom more than actual research that makes me think this, so maybe they would look the same.
Users can post complete works to AO3, or they can update works a chapter at a time (often called a “WiP”, or a work in progress). What fraction of the works on AO3 are currently in progress?
I would have thought the number of works in progress would be higher than that. But I suppose a number of the completed works are former works in progress, now completed. Does this look different if we restrict to the last year or so?
The bars are much closer in height--there are more works in progress, as a fraction of everything that was posted, in the last couple of years. So, assuming the desire to post WiPs hasn't grown appreciably over time--assuming about ¼ of the fics that get posted start out as WiPs, in 2010 as well as 2019--then the only way to explain the fact that less than ⅕ of works are WiPs now is that they used to be WiPs but now they’re completed. Cool! And good news for people who are reading WiPs--they get finished. :)
Some more basic questions: how long are the works on the Archive?
Hmm. Okay. So the longest work on the AO3 is over 3 million words. That makes this plot kinda hard to read, because that giant bar on the left includes everything up to about 60,000 words! So I’m going to use a different kind of plot, where I mess with the scale on the bottom so we can see things more clearly--this is called a “log plot” (for logarithm). Now, instead of the vertical lines being every 500,000 words, they indicate factors of 10:
Ah, now we can see more clearly: the most common wordcount on the Archive is somewhere between 1,000 and 3,000 words, and almost all the works have at least 100 words. That most common wordcount of just a couple of thousand is pretty surprising to me, actually; I thought it would be far longer. But I’m also surprised at just how many 100,000+ word works there are as well.
What about chapter counts?
That’s fewer chaptered works than I expected, by quite a bit. On the other hand, I was also surprised by how short most works are, so I guess that makes sense: no need to make a 1000-word fic chaptered, in general.
And indeed, as you'd expect, the average number of chapters goes up with word count:
Though I don't have a pretty plot, I can also tell you that 24% of the works posted on the Archive are a part of a series!
Most of that was about creator behavior. What does reader engagement look like? I’m going to keep using those plots with the power-of-10 x-axis, just so we can see things a little better.
Lots of things get 10-100 kudos, which is nice for authors. Bookmarks and comment counts are much less common than kudos, though they track with each other pretty well. Note that more things have 2 comments (the tallest bar between 1 and 10) than 1 comment--I guess that means most authors are better than me at responding to comments. :)
Next up: fandoms!
25 notes
·
View notes
Text
[ I N F E R N A . . . ]
Real Name: Victoria Chang (goes by “Vicky”)
Age: 22
FC: Hoyeon Jung
Species & Class: Fire-Mage, Rogue
Guild: Obsidian
“Middle finger up, F you pay me” —Blackpink, Boombayah
Description of In-Game Powers: Inferna (Vicky) can generate and manipulate fire. She should theoretically be able to put it out, too, and control it in a more precise way, but so far, no luck. Over-using this ability results in dizziness and fatigue.
In addition, Inferna has a natural affinity for fire-related ability scrolls, potions, and items. She is invulnerable to fire, though water and being underwater in general gives her up to -2 in defense.
Place of Birth: The suburbs surrounding Baltimore, USA
Appearance: Although Inferna’s natural hair color is black (technically, dark brown), she had it dyed red when she first got to college. In-game, she changes her hair color very often, utilizing a bunch of H-rank potions that are only there for cosmetic effects. She also gives herself a bunch of face tattoos in-game, just because she can. Currently, she has some of the lyrics from Blackpink’s DDU-DU DDU-DU tattooed around the area of her left eye, like so.
“I just think that it’s kind of lame that there isn’t even a Starbucks out here. I mean, all this fancy mead is fine and all, but sometimes I just really want a frap, you feel me?”
Places Most Likely to be Found In-Game: Inferna adores the Level 7 Tearoom. She’s always been keen on spilling the tea, both literally and metaphorically (plus the sweet treats don’t hurt!).
Inferna’s also a pretty regular sight in Yue City, trying to market her Inferna Sauce and Inferna Sriracha to beginner players.
Current Inventory:
Flaming daggers x4
Regular daggers x2
Pocketknife x1
Silver dust x5
Dispelling amulet x1
Crossbow x1
Ignitium potion x2
Lock picking set x1
Ictuium potion x7
Black pearls x3
Blue pearls x3
“Inferna Sauce” (AKA hot sauce that tastes like Lao Gan Ma/chili sauce that she made using in-game ingredients to spice up the bland-ass white people food available in the marketplaces) x10
“Inferna’s Sriracha” (same deal ^^^) x14
Shortsword x1
Murmurationium x1
Assorted sweet treats from the Tearoom x22
+ assorted foodstuffs/drinks, and more coins than anyone would ever need because she’s such a goddamn hoarder
Strongest Character Trait: Flippant
“Leak college textbook pdf files, not nudes. Jeez.”
Strengths: Inferna’s a total boss at League of Legends (she was Diamond before she decided to check out Gem Quest), meaning that she’s pretty familiar with a lot of the game mechanics that GQ was founded on; in-game, she’s very good at appearing out of nowhere and then fucking off with whatever she decided that she wanted to steal; despite the fact that she thinks computer science is boring as all hell, she’s not bad at it - she hasn’t failed so far, which is a sign that she must be doing something right; somehow passing 3 years of CS courses means that Inferna’s pretty well-versed in a variety of programming languages (Python, Java, Haskell, Ruby, C++, etc); has a very good memory, despite her general flightiness; her in-game character is very speedy, if not always very stealthy; quick reflexes and good hand-eye coordination (Inferna would like to thank her eleven-odd years of playing League); a natural curiosity about the game has led to Inferna exploring all the little nooks and crannies of every level she’s been to so far, so she knows about many little secret passageways and the like
Weaknesses: In real life, Inferna’s primary motivations are 1) food, and 2) being petty, and this is definitely true in-game as well - the primary difference being that in real life, Inferna does not have the ability to whip out flaming daggers whenever she wants to; in general, Inferna is ready to throw hands way too often for it to be healthy; very reckless and impulsive; tends to jump to conclusions and rush into things without thinking it through; fickle as actual fuck; flighty and easily distracted; probably more fixated on trying all the pastries in the Tearoom than actually clearing the game; stubborn, headstrong, and bullheaded when she focuses on something long enough to decide that she wants it, no matter what - Inferna has a very ‘my way or the highway’ attitude; can and will pack so many meme and vine references into one sentence that it’s practically incomprehensible; what is self-control?; is avoiding all her responsibilities 24/7
Player Stats: Inferna’s got pretty high strength stats for her class, mostly because she decided to spec into fire-mage abilities (”Honestly, I just wanted to be like Uncle Iroh from ATLA and breathe flames from my mouth”), but her cautiousness is abnormally low for a rogue.
STRENGTH: 8
DEFENCE: 7
CHARISMA: 6
PSYCHE: 5
WILLPOWER: 7
CAUTIOUSNESS: 3
AGILITY: 9
ENDURANCE: 7
INTELLIGENCE: 6
LUCK: 5
Inferna’s general personality is better suited to being a Knight or a Rider, but on the intro screen she read that Rogues tended to get easy money, so she was immediately sold.
Personality: Well, to be perfectly frank, Inferna is...kind of a bitch (and, in real life, she was kind of an attention whore as a teenager, though she mellowed out a bit once she got to college). Inferna's perfectly aware of this, but she also like, doesn't care. With her sarcastic and irreverent sense of humor, Inferna is flippant and frivolous, always brushing other peoples' concerns and criticisms off with a breezy "eat a dick" (or something along those lines). Inferna is also a bit vain, especially when it comes to her hair, and has a very irreverent/ironic sense of humor (and she always appreciates a good nerdy science pun).
Although she really isn't the nicest person around, Inferna’s outgoing nature and spunky spontaneity (paired with a healthy dose of snarkiness) has still made her a couple of friends (and said friends are usually just as thick-skinned as Inferna can be). She's a bit too cocky and reckless for her own good, and she can be blunt to the point of being cruel. Inferna has no sense of tact nor subtlety whatsoever, and she means something when she says it. Inferna's not afraid of confronting someone head-on, and she has absolutely no patience for pussies who would rather subtweet her than talk trash to her face.
Flighty and fickle, Inferna's not always very good about texting back or making plans. She's extremely petty and makes way too many smart remarks for her own good, and has quite the temper on her - Inferna is both easily excited and easily angered, and can be rather capricious if she hasn’t had any coffee. However, she's also quick to forgive (if not necessarily to forget), and she can be surprisingly perceptive and observant sometimes. Inferna's a bit of a hypocrite in that she's not afraid to call out stupid bullshit when she sees it, but she's also very much full of bullshit herself, a fact that she will freely admit to. And although she doesn't seem to take anything seriously, Inferna can and will hold a grudge until the end of time if you piss her off enough.
Finally, some people can find her downright annoying, which Inferna is also perfectly fine with. She's quite self-aware, despite what one may think after interacting with her, and she's definitely not as clueless or oblivious as some people think she is-it's just a matter of if she cares enough to confront somebody about something. And, spoiler alert: nine times out of ten, she doesn't.
“I do things for two reasons, and two reasons only: 1) spite, 2) the aesthetic. That’s it.”
Biography: Inferna had a pretty normal childhood, all things considered; she was a rebellious kid for sure, but her parents were patient with her and let her do what she wanted, so long as her grades didn’t slip (granted, her mom was pretty pissed when she decided that she wanted red hair on a whim one day and just went ahead and got it dyed, but beyond an annoying lecture, there were no other consequences). Inferna got into the gaming scene pretty quickly as a kid - she passed over stupid games like Call of Duty for ones where she could fuck people up and look cute, like League of Legends or World of Warcraft.
Inferna got into a fairly decent public university in Baltimore, and was subsequently pressured into pursuing an undergrad degree in computer science by her parents. Inferna thinks that CS is alright - it’s not her favorite thing in the world, but it’s not unbearably boring like reading wack ass Shakespeare plays and then bullshitting a 2000-word essay about it - and so far, she’s passed all her classes. Which has to count for something, right?
Inferna decided to check out Gem Quest not long after it was released to the public, during the summer after her sophomore year of college. The only reason she really decided to was because she was tired of forking over $10 for each damn skin in League, and with a game like League, what was the fucking point if she couldn’t have a cute character? She slowly got more into it as time went on - the character customization options were absolutely gorgeous, plus she liked being able to actually sample the in-game foods - and it was strangely freeing, in a way, to be able to go on her own adventures and explore everything the levels had to offer. A way better use of her time than sitting in the library trying to debug her goddamn code, in Inferna’s opinion.
As Inferna began to take Gem Quest more seriously, she built a reputation for herself as That Bitch (TM).Thanks to her penchant of hoarding items and coins, she has gotten quite coin-rich, and thanks to her affinity with games that were similar to Gem Quest, she quickly advanced through the easier levels.
Inferna was...surprisingly nonchalant, regarding G’s recent announcement that players could not freely leave the game anymore. She figures that if something horrible happens, she can always steal a relinquium potion from some rando, but until then, she’s just going to enjoy life. G told the real world about the development, Inferna’s assuming, meaning that her parents won’t be expecting her anytime soon. It’s selfish of her to just leave them out there worrying about her, really, but Inferna doesn’t want to go back to the real world, not just yet - one day, she’ll steal that relinquium potion and finish her degree like she’s supposed to, get a 9-5 office job like she’s supposed to, spend all her time on boring software development like she’s supposed to - but right now, she just wants to have some fun.
Relationships:
ENTHRONED - Inferna met Neddy for the first time in Finvarra’s Gardens (Level 10), which Inferna beat a long time ago but returned to because she remembered that the level had the most gorgeous pastries (she forgot that eating/drinking anything would trap her on the level for the rest of the game). Neddy reminded her of that rule, and Inferna spent an inordinate amount of time fawning over Jack like he was a puppy (before asking to ride him, which Neddy agreed to). Inferna thinks Neddy is super cute and generally likes both her and Jack.
Eventually: realizing that Inferna and Plagueis have run into each other before + Inferna has heard the rumors about him and Bloodbriars having the Supernova scroll, Inferna helping Neddy beat Level 30 because she thinks dodgeball is fun
MORNINGSTAR - Inferna met Morningstar in the depths of the Descend one day before the first event. Noticing Morningstar’s potioneering supplies, Inferna asked her if she had anything that would “make it feel like being high on weed, not this red gas stuff that’ll probably give me cancer” (Inferna’s not like, that big on weed, but she likes it on occasion, and kind of misses getting high).
Eventually: form a small two-person party together, Morn being all starry-eyed about Inferna telling her about how she’s fucked around in general (going to college parties, getting absolutely wasted, getting twisted, just generally dumb college freshman shit), somehow realizing that Inferna knows Emily through a League Discord server
CHAR -
Playlist:
"DDU-DU DDU-DU” by Blackpink
“Fire” by 2NE1
“Friends and Foes” by Higher Brothers ft. Snoop Dogg
“Dalla Dalla” by Itzy
“Icy” by Itzy
“My New Swag” by VAVA ft. Nina Wang & Ty
“Solo” by Jennie of Blackpink
“Boombayah” by Blackpink
“Just Like Fire” by Pink
“High Hopes” by Panic! at the Disco
Pinterest: https://www.pinterest.com/ayzrules/leak-college-textbook-pdf-files-not-nudes-gq/
1 note
·
View note
Text
Slice of Life[6]
[Andy]
“There have been some increasingly controversial topics in the news,” began Andy, in the milionth meeting they were holding that week, “and I know that not everyone here is in agreement with regard to personal beliefs. Though there is some merit to discussing these topics, I would encourage you to do so outside of work.
“So please,” he continued, “for the love of the old gods and the new, stop arguing about the last episode of Game of Thrones.”
“It was kind of bullshit though, right?” asked Jake, to murmurs of approval.
“I haven’t watched it yet,” complained Kevin.
“Spoiler,” said Jake, “it sucked.”
“Jake, please.”
“There was a shocking twist about Tyrion being the Night King.”
“Kevin, Jake may or may not be messing with you.”
“I did think the part where Eddard rose from the dead was a little out of left field, though.”
“Amy, please proceed with your presentation.”
Amy was standing in front of their conference room’s projector. Her long, dark brown hair was tied into a bun, and her usual Davis badminton jacket was replaced by a white button-up.
“Thanks Andy,” she said, relieved that the meeting was back under control, “as I was saying, this project is worth roughly 25.6 million dollars, collectively. As is the usual case, the largest defense contractors are going to take the majority of business.
“But this is where things get interesting. I’m going to have to be intentionally vague about the next portion of this, since we’re in a nonclassified setting, but we have certain...capabilities...that even some of the largest corporations don’t. Thanks to some wise decisions we made early last year with regard to our research allocations, we are actually the first team we know of that can use...”
Her voice trailed. “Well, that’s also classified. But the figures aren’t. Look at this.” The slide changed. “We are poised to become the government’s preferred vendor for the entire sensor, and all we have to do is give them a taste. They expect delivery within three weeks. For this to work, all teams have to collaborate perfectly.”
“It’s really important that we execute this now,” agreed Andy, “that means it’s really, vitally important that we not let our meetings diverge into arguments about petty bullshit.
“Kevin, we’d like a status report from you. What’s the important software issue you said you wanted everyone to know about?”
“I know we were told not to compile on the hardware,” began Kevin, “but unfortunately, with our system, it’s unavoidable. The time stamps are messed up, so doing basic things like compilation is surprisingly difficult.”
“Why not code it in Python?” suggested Jake. “that way you won’t need to compile it.”
“Wow,” said Dan, with mock amazement, “switch programming languages. Brilliant. This is the kind of empty-headed bullshit that only a hardware engineer would come up with.”
“Right,” Jake retorted, “because messed up time stamps is a hardware issue. Do you guys also give your system administrators mops, then give your janitors root access?”
“Switching to python actually isn’t a bad idea,” said Ryan, “but there’s a much more obvious solution to this problem. You can-”
“Hang on,” interrupted Dan, “care to repeat that comment about root access?”
“You guys don’t understand separation of duty,” said Jake.
“You guys don’t understand fuck about fuck,” said Dan.
The next half hour went about as productively as that conversation.
[Nora]
Saturday. It was a surprisingly clear morning, for San Francisco, and the sun was just starting to rise. Because it was San Francisco, though, the morning was ice cold.
Nora made her way up the steep trail of Mt. Davidson. Kevin said he knew every trail and angle at this place, and she believed him. The park was tiny. She reached the peak with ease. She glanced in the direction of the sun, then turned away to look at downtown in the distance. She could see the bay, and Castro, and a bunch of major downtown buildings until her view reached Sutro Mountain.
She pulled out her cell phone. “This is boring,” she told Kevin through the speaker.
“Did you know it’s the tallest hill in all of San Francisco?”
“Highest of the seven hills?”
“Sure.”
“What, because of the giant cross?”
“I admit that the giant cross is cheating, but the point still stands.”
“Not sure what the big deal is, to be honest. I’ve had a more fun time at Bernal Heights, and that place has some pretty good coffee.”
“Giant blue building.”
“What?”
“Find the spot where Balboa is, look a bit to the left, and you’ll see that giant blue building. It’s a water tower. We used to sneak up there, forever ago, when we were young.”
“Okay...”
“I used to love this city. It’s not the same now. Whenever I came back it was never the same, always a little different. So I started to come home every month, then every other month. The last time we spoke, it was my first time back in almost a year.”
“Well, what’s changed?”
“It’s just different.”
Nora looked at the tower, then at Kevin’s high school, then at the water again. From a distance, it was all tiny. Like none of it mattered.
“You used to love this city,” asked Nora, “and now you don’t because it’s changed?”
“Exactly. You took the words right out of my mouth.”
“So you believe that the city you once loved is gone. I believe that the city you loved never existed.”
“That’s morbid.”
“Seriously, how much of it had you really seen?”
Nora looked again at the view. “Oh wait, technically you’ve seen quite a bit of it.”
“Technically.”
[Kevin]
Sunday. Kevin was at a church. Again.
After another sermon, a middle-aged person named Leo (whom he had met a couple of weeks ago) sought him out.
“Hey Kevin,” he said, “do you know a lot about social media?”
The question hit him with surprise. Kevin had once been obsessed with social media.
“I know a little bit,” said Kevin, “why do you ask?”
“I’d like to give our church more of an online presence, but it’s all new to me. What do you know about Facebook groups?”
“Well,” said Kevin, “not too much. I know that you can pay to have the algorithm favor you, so you get more traffic. I also know that you can integrate it with Google Analytics, and I believe the algorithm will favor you if you can rack likes or comments in a five-minute window.
“The whole thing is very calculated. The emojis you use, whether you use GIFs, whether you use tags...all of these are taken into consideration when considering your post placement.”
“That’s all fine and good,” said Leo, “but you don’t sound super enthusiastic right now about Facebook.”
“Have you heard of Life Church?”
“No.”
“It’s a nice resource, it’s an online church, but it’s just a little bit too good. It’s hard to describe. It’s ridiculously high quality video, full Facebook integration, professional band. You can view the likes and comments in real time.”
“What’s wrong with that?”
“It’s weird. All of this is weird to me for some reason. Doing that kind of thing for a church? I prefer sites like Medium. I can harvest so much sweet, sweet data.”
“Are you okay? You just turned red.”
“You know, I get crazy about this a lot. I used to be a normal guy. A couple likes here, a couple likes there. I started to find forums where I could get 100 likes a post, consistently, and I started to get a presence. Click, like, share. Click, like, share. It’s no way to live, man. Every second a feeling of wanting judgment, every act of communication a desperate plea to please the algorithm.
“But this one time, this one night I’ll never forget, I put up an article that went #trending. It got 36,000 Facebook shares. Pretty okay, sure, but then I found the real analytics. 3 million hits. 3 million people read it, all around the world.”
For a little while, Leo just stood there. Finally, he spoke again.
“Kevin, I just want to share some videos.”
“Oh, okay. Have you considered YouTube?”
“What’s that?”
Kevin walked back to his apartment after lunch. Part of him wished he could be as enthusiastic about church as he was about technology, but there was still something he couldn’t get over. It was a belief that was fundamental to him for as long as he remembered. It was a belief that went against everything he had read in every book of the bible.
Kevin didn’t think it mattered what people believed. All that mattered to him was what people did.
Some Christians donated to the poor, built schools, saved lives. Some atheists donated to the poor, built schools, saved lives. Both Christians and non-Christian people had done great things, and horrible things, but so had Muslims. And Hindu people. And scientologists, and probably a million other religions. But no one thought it was okay to believe that your beliefs didn’t matter.
Kevin wasn’t sure if he believed in everything or nothing. He figured it was impossible to believe in nothing, because that would mean that he still believed in something.
[Dan]
Monday. 8PM. Dan was one of the only people in.
It was a long meeting, followed by a crucial lunch meeting, followed by coding, followed by another meeting. These past few days had been tough on everyone, but Dan sometimes wished he could just hole up, not talk to anyone, and code.
He finally had a few hours to himself. This was when he felt most productive.
2, he thought. 2, 4, 8, 16…
Dan’s weapon of choice had always been C++. He knew bitwidths, 56-megabyte proprietary structs, obscure abbreviations that only meant anything to him, Andy, and the Department of Defense. He knew 18 different ways to bind to a socket. He knew 19 different ways to accidentally bind to the socket incorrectly, which is why he was careful who he hired.
He looked at his code. 100 lines. 18 minutes. It compiled, implemented a client/server, verified that both sides were properly using the data. Not bad. He added error handling, comments, varied conditions. He updated his code like a skilled writer polishing his prose, and like a skilled writer he knew how important every individual unit was. He knew how significant the difference was between --i and i--. He knew the implications of using [] on a vector instead of .at()
Having accomplished his main goal, he decided to spend a few minutes making fun of other people on Github issues.
He saw one branch of code where someone failed, failed again, then tried changing all the include statements from using “” to using <>. Dan laughed.
He saw one branch of code where someone tried to log everything as fatal. This was surprisingly common, especially for people too dumb to figure out how to set log level. Dan laughed.
Then Dan saw a branch made by one of his best friends.
Ex-friends. No one ever figured it out. Things were mysterious, but for reasons he never understood this friend’s family chose not to mention their company (or Dan) once. But how did it happen? This was also mysterious. Dan compiled a list of all the things he had learned after college, and it was long, but one item stood out:
When an obituary omits cause of death, that usually means it’s suicide.
What appalled Dan wasn’t the act itself, but the sheer indifference that their company displayed. They just didn’t care. His cubicle was replaced by an intern’s, then another intern’s. That’s more or less how he felt the company regarded this death. It was a name tag change, a commented out line in payroll. It frustrated Dan to no end, the sheer meaningless and triviality of the ordeal.
Silently, when he was sure no one was there to hear, Dan wept.
He cried to a timer. When five minutes passed, he got back on track with coding.
2 notes
·
View notes
Text
Totalterminal el capitan

#Totalterminal el capitan mac os x#
#Totalterminal el capitan code#
#Totalterminal el capitan windows#
Built-in TFTP server provides additional file transfer flexibility.Crashy/hangy (seems to be fixed in ) Can do focus-follows-mouse. VT100/102/220, ANSI, SCO ANSI, Wyse 50/60, Xterm, and Linux console emulations are supported - all with ANSI color and color schemes.Unicode. This page is intended as a primer for my problems with the current state of OS X terminal emulation I'll give it to anyone to read before they start suggesting solutions. Overstrike as bold (update: fixed in Leopard!) Can do focus-follows-mouse in 10.3.9 but not 10.4.x? (update: seems to be working in 10.5.5 after following these instructions again) I'm only going to list things that I know annoy _me_ (enough to write this page), and not a complete buglist or potential-annoyance-list.So, without further ado, the issues: Terminal.appThe emulator that comes with OS X. TinTin++ features an advanced automapper, scripting language and VT100 interface.
#Totalterminal el capitan windows#
The Windows port named WinTin++ (using the PuTTY derived mintty terminal) is available for those who do not use Cygwin (A Linux/Unix emulator for Windows) and runs on Windows Xp, Windows Vista, Windows 7, 8, and 10.
#Totalterminal el capitan mac os x#
Guake depends on the See also.TinTin++ ManualMac OS X terminal emulation notes Mac OS X terminal emulation notes IntroductionTinTin++ features an advanced automapper, scripting language and VT100 interface. The developers of Guake will not maintain this branch actively.
#Totalterminal el capitan code#
Old releases and code depending on GTK2 can be found in the 0.8.x branch. This version also dropped support for Python 2. Version 3 Version 3.0.0 was ported from 2 to GTK+ 3. Guake follows the same line of and, but it is an attempt to meld the best of them into a single GTK-based application. Rationale Running Guake is faster than launching a new terminal with a because the program is already loaded into memory, and so can be useful to people who frequently find themselves opening and closing terminals for odd tasks. So I'm back with my old combo (Terminal.app + iTerm2) and it's close to ideal. Thus you can easily use Apple's Terminal in a way you used Visor (except for the animation). And they can be switched on and off (hidden) with the same shortcuts. A tine app called can assign global keyboard shortcut to any application, script, etc. ITerm2 itself seemed not enough for me when I moved to El Capitan.īut there's a way to closely replicate my old setup. I had Visor sliding from top down and I used iTerm2 too, depending on task etc. Before OS X 10.11 El Capitan I used TotalTerminal (Visor) and I loved it. While iTerm2 suggestion is a good one, it has a few problems of its own. To make it look like a Quake drop-down terminal, you can use similar 'Window' preferences. You can customize the settings for the 'Hotkey Window' profile under the 'Profiles' tab. With default settings, the Hotkey Profile window will stretch across the top of the screen, and the hotkey will drop the window down from the top, complete with animation. Check the 'Hotkey toggles a dedicated window with profile:' option and choose 'Hotkey Window' in the popup menu below (should be selected by default). In the bottom left, under 'Hotkey', check 'Show/hide iTerm2 with a system-wide hotkey' and assign the hotkey you'd like to use. In iTerm2 preferences, click on the 'Keys' tab. You can use iTerm2's system-wide hotkey with the Hotkey Window profile to do this. Quake II won Macworld ' s 1999 'Best Shoot-'Em-Up' award, and the magazine's Christopher Breen wrote, 'In either single-player or multiplayer mode, for careening-through-corridor-carnage satisfaction, Quake II is a must-have.' If you frequently use Windows' Command Prompt utility, you might want to find a quicker way of accessing it and that's when third-party apps like WinGuake step into action.

0 notes