we are running jekyll now!

it’s been a while since i’ve written here. i’m not sure why i find it so difficult to write blog posts when i know there’s only 2 people who read this (including me). anyway, i thought it would be appropriate to write something now because it’s january and it’s a new year.

2018 was tough and a lot of it was my fault. i failed a lot, didn’t try hard enough, and didn’t do enough to make things better. i got rejected by so many companies for summer 2018 internships (namely microsoft and IBM, both of which i had a lot of hope for). i did terribly in many of my classes, did a lot of damage to my health through bad nutrition, and felt unfulfilled. but i also did manage to quit my job at starbucks and have more time to myself. i learned how to drive after 3 years of putting it off. i got a new job as a TA, and later as an instructor, for coding classes for middle school students. i also had another job in the fall where i mentored middle school students and helped them build an android game (but mostly just had fun joking around with them and learning about middle school culture). and later i got a few interviews/coding challenges for summer 2019 internships–ending in an internship offer given to me just last week.

lots of ups and downs. i’m not special in saying that. i know it happens to everyone and this isn’t anything new or exciting to read. it’s hard for me to write down my accomplishments without thinking about the better things others have done. i don’t want to be like this anymore.

in 2019 i want to use my bullet journal more and use my time as best as i can–i want to do things with intention. i want to rest because it’s good for me and i want to work on coding projects because it’s fun. i want to go to more places, floss my teeth more, probably lose 5 pounds, write in a diary again, and just feel better about myself. i want to not care about what others do or how they may or may not be better than i am because it!! does!! not!! matter!! i will eat food and not feel guilty and not work more hours a week than i am comfortable with. i do not want to be scared or unprepared when i live in nyc for the summer. i want to be better.

  • seeing my dog again
  • teaching my own class at work
  • painting on my iPad
  • watching documentaries
  • finishing civilizations on netflix

  • playing the next elder scrolls game
  • teaching my future dog how to sit and shake
  • movies and dinner with my boyfriend
  • appreciating myself someday

today is the first day of my new job! i’m going to be a teaching assistant for a class teaching ~scratch to elementary school kids~ web development to middle school kids over the summer. i’m finally doing adult things and actually putting myself out there! what a surprise!

also, i don’t think i ever posted about my old job on here. i worked at a starbucks on campus for about six months starting last summer and ending in february. it was fun, but really stressful. classes got hard and i didn’t have enough time for myself, so everything kind of snowballed and didn’t go too well. but i think i came out a better and more outgoing person.

anyway, onto my new job–

i thought i would be doing an internship this summer at some big company, but clearly i’m not. it was kind of like in high school where i was so concerned with going to a “smart” school that people would be impressed with. and like in high school, i didn’t get accepted where i wanted. but i’ve come to realize that it doesn’t!! matter!! and maybe an internship isn’t even what i want or need right now…

teaching has always been a big interest of mine and if you know me personally, you know that i won’t shut up about it. i wanted to work under a fancy company in the tech industry for so long, but as of late i’ve been thinking about teaching. i love it, i have experience in it, why not just do it?

so i searched for teaching jobs, researched teaching credential programs, even considering grad school during my (shallow) google searches. and i now have my summer teaching job and several other programming education jobs/internships i’m waiting on hearing back from. i’m thinking this is a better fit for what i want to do with my life. i hope so.

maybe i’ll change my mind about it later but i’m feeling so good about it now. i can’t wait to make an impact, make a difference, change even one kid’s life, + other inspirational “teacher” things, etc.

wish me luck on my first day!

edit (2016-07-18): i’ve updated the art software portion of this guide to talk about krita 3.0

there’s probably a bunch of existing guides on linux on the surface pro 3 out there (most of which i’ve read) but i decided to make my own. each guide was helpful, of course, but i still had to rely on many outside resources to make my linux experience worthwile.


  • to use this guide, you don’t need much linux experience but you should get a bit familiar with the command line and terminals
  • i’m not an expert at this stuff but i’ve done quite a bit of research on linux and the surface pro 3 and have had a single boot since september 2015
  • i use the surface pro 3 i3 64gb model but this should ofc work on any sp3 device
  • i used ubuntu and xubuntu from september 2015 to around december 2015 so my info on those distros may not be as accurate but should still suffice
  • i currently use arch linux


  1. starting out: *ubuntu – if you’re new to linux or want an easy to use distro
  2. getting fancy: arch linux – if you’ve got a bit of free time and have more experience with linux
  3. general reccomendations – post-install stuff you may want to consider
  4. conclusion

starting out: *ubuntu

if you’ve no experience with linux or want the most useable linux experience, go for any of the ubuntu derivatives or plain old ubuntu.

issues i had with a plain install:

  1. no battery status (ubuntu and xubuntu)
  2. no touchpad support (ubuntu and xubuntu)
  3. network issues – could not connect to certain networks (xubuntu)
  4. restarting the computer

the first two issues were fixed by simply installing the neoreeps kernels. if you don’t know how to install these kernels, follow the instructions below:

  • go to the google drive link and download just one of the folders — as of writing this the folders are 4.2.0, 4.3.0, and latest (torvalds tree). i went with 4.3.0.
  • open a terminal emulator and cd into the directory where the downloaded folder is (eg cd Downloads/4.3.0)
  • run sudo dpkg -i *.deb. this will install the kernels, which are in deb packages. to use these kernels, restart your computer and choose the kernel you just installed at boot.
  • (optional) change the order of the grub entries with grub customizer. in my case, i moved them to the top and reduced grub’s timeout so that startup would be slightly faster.

as for the 3rd issue of networks, i could not connect to my home network with the built in sp3 wifi and had to use a d-link adapter. however, i could connect to my school’s network without the adapter. i never solved this problem when under xubuntu but later had the same issue under arch. unfortunately i can’t remember what the solution was but it involved the fact that more than one connection manager was running at once and i had to disable one of them.

the 4th issue of not being able to restart the computer is something i could never fix. “restarting” the computer would shut it down and make it start up again, only to be stuck at the “Surface” screen that would never go away. instead, just shutdown and manually power up your computer again.

for more info on ubuntu on the surface pro 3, check the following links, which will be updated soon:

getting fancy: arch linux

do you have a lot of free time on your hands? are you done with ubuntu? do you want some mad internet creds? try arch linux on your sp3!

moving on from that horrible intro, i’d first like to say that my first non-ubuntu distro was antergos and it’s a great arch-based distro. i enjoyed it much more than ubuntu, and if you’re too afraid to try installing arch, then i reccomend you try it. and plus, you get to still follow this guide!

as for installing arch, i cannot say much other than follow the installation guide and the beginner’s guide. and if you find the task a bit too daunting, you can easily find scripts to install arch linux online, as well as video tutorials.

stuff to do after installing

get the appropriate kernel

i use matthew wardrop’s linux-surfacepro3 kernel, and it works pretty well. unfortunately, whenever i attempt to install it via the aur or mkpkg, i always get a kernel panic at boot. but fear not, there’s still a way to install the kernel! the following steps will walk you through it. (and i’m sorry if it sounds very babby-like, but i just want to be as clear as possible)

  1. download the repo or clone it: git clone https://github.com/matthewwardrop/linux-surfacepro3.git
  2. import the kernel maintainer keys, which may take a while. enter these commands into your terminal. (taken from the README):
    • linus torvalds: gpg --recv-keys 79BE3E4300411886
    • greg kroah-hartman: gpg --recv-keys 38DBBDC86092693E
  3. become the package manager and open up the PKGBUILD and read it while going through the next few steps
  4. find the pkgver. depending on what version it is, go to and download the corresponding .tar.xz and .tar.sign. extract the .tar.xz into the linux-surfacepro3 directory
  5. apply the patches that the repo provides while in the linux-surfacepro3 directory. you will find the appropriate commands within the PKGBUILD

this is the part where i stopped following the PKGBUILD and went on my own. i then followed this guide–How-to: patch, compile and install a working kernel for the Surface Pro 3 starting from step 3 (“The actual compiling”) on. just in case that link ever gets taken down, i’ll write the relevant steps here. do these while still in the repo’s directory. and you may or may not want to read the “more info” links on some of the steps.

  1. copy the current kernel config
    • zcat /proc/config.gz > .config
  2. open the menuconfig. i highly reccomend changing the name of the kernel within this menu so that it’s easily identifiable from your other installed kernels.
  3. start the actual kernel compilation. as stated earlier, i have the i3 1.5ghz 4gb ram sp3 model. i never recorded the exact time it took me to compile the kernel, but it was less than 2 hours every time i did it. and every time i compiled, the fan turned on and the temperature went up to around 60 degrees celsius. i also used firefox the whole time lol.
    • make -j3
  4. install the kernel modules. note: during one of the next 3 steps, the name of the kernel will be displayed at the end of the output. take note of this, it’s très important.
    • sudo make modules_instal
  5. more compiling! create the compressed kernel next
  6. and now install the actual kernel
    • sudo make install
  7. check if your kernel has installed by heading over to /boot/ and look at each of the vmlinuz. usually, you’ll want to check the file just labeled vmlinuz and use the file command to see its name. if it matches the name of the kernel that you noted in one of the earlier steps, change its name to vmlinuz-[INSERT NAME OF KERNEL]
  8. generate the ram disk file with your kernel name. note: during one of the next two steps you may get an error about fstab if you have use a btrfs filesystem but it can be ignored.
    • mkinitcpio -k FullKernelName -c /etc/mkinitcpio.conf -g /boot/initramfs-YourKernelName.img
    • more info
    • even more info
  9. upate the initramfs
    • sudo update-initramfs
  10. inform grub of the changes
    • sudo grub-mkconfig -o /boot/grub/grub.cfg
  11. (optional): use grub-customizer to edit the kernel order

wow! that only took forever! now you have a breddy gud arch set up.

general recommendations

the hidpi lyfe

i wrote some stuff on dealing with the hidpi life on reddit


i am currently on arch linux with the previously mentioned kernel and have little to no problems with my touchscreen. at times, it may stop working, but this can be fixed easily.

  1. find your touchscreen’s id (the touchscreen should be called NTRG0001:01 1B96:1B05)
    • xinput -list
  2. disable and enable the device. replace “15” with the id you found earlier.
    • xinput disable 15; \ xinput enable 15
  3. just in case this ever happens while my keyboard is unattached, i mapped the previous commands to the super button + volume down. (i use sxhkd to do this)

i also use the onboard keyboard when i use my sp3 as a tablet. since i use bspwm, i use rule -a Onboard state=floating flag=sticky so that it is on all desktops and is on top of all windows. on my lemonbar panel i also have an keyboard icon that when clicked, brings up onboard. pretty handy when i’m not using the type cover.

the sp3 pen

by default, the pen is recognized as another mouse pointer. i suggest you install the xf86-input-wacom drivers to get the most out of your pen.

then, the wacom configurations from this repo to get more options recognized for your pen in xinput. as of version 0.33.0-1 of the wacom drivers, you’ll need to copy the contents of 50-wacom.conf into the new file 70-wacom.conf for it to work. (these files are located in /usr/share/x11/xorg.conf.d/)

art software

what i miss the most about windows is how amazing adobe photoshop cc was with the surface pro 3. i’ve tried my best to find an alternative to this with programs in linux, but nothing comes close.


krita is always recommended as the best painting software, but i’m not sure if i agree.

(this section has been edited to account for krita 3.0 as of 2016-07-18, or the release with animation)

krita cons

  • ~pen pressure is extremely weak with the sp3 pen (even with tweaking and the above configurations)~ i don’t have this problem anymore with the new krita.
  • it detects your hand as input while you’re using the pen so you must disable the touchscreen to make it useable.
  • the display is not helpful at all to hidpi users. and there is not much you can do to fix it, even when enabling larger icons.
    • as of the new krita version, i still have an issue with this. see screenshots below for reference.
  • this isn’t really the fault of krita itself, but you must install a lot of kde stuff for it to work, which really doesn’t fit my philosophy of having minimal installs.

some screenshots of krita:

krita under bspwm

krita under bspwm

krita, with the hidpi setting turned on. it’s… pretty bad.

krita pros

  • has many more painting-specific features than any other linux painting program.
  • i really love the reference image window. (like in paint tool sai)
  • (3.0+) has support for creating animations
  • cute mascot
  • (3.0+) some hidpi compatibility — it doesn’t work in my case, however.

unfortunately, i really can’t reccomend you use krita. it’s really not worth the trouble at the moment, but i do intend to keep up on its progress (or even try to contribute to it) because it has so much potential.


i enjoy mypaint much more than krita for many reasons.

mypaint pros

  • not as resource intensive as krita, which would always turn my sp3’s fans on.
  • undo and redo buttons are on screen and not hidden behind a menu, which is useful for when the keyboard is detached.
  • slightly larger interface and incorporates your gtk2 theme.
  • simple and easy to use. you could use it as an ms paint alternative if you really wanted to do so.

mypaint cons

  • despite having a menu to disable the touchscreen so that your hand doesn’t get in the way, it doesn’t always work. like krita, you must disable the touchscreen via xinput to make sure that there will be no interference.
  • not as many features as krita, such as selection tools.
  • no tabs, so you can only have one thing open at a time 🙁


altogether, using gnu/linux on your sp3 may seem much more work than it’s worth, but i enjoy it so much better than windows. it is much more modular and does not waste as much disk space. in addition, the terminal and easy to install compilers make writing code so much easier, as a hobbyist programmer.

the only thing i really want windows for is adobe photoshop cc for art-related tasks, and if i get a new surface model, i may keep windows on it for that sole reason. other than that, i think linux is great, and i think that whether or not you are a programmer or try it on your sp3, you should look into linux!

thanks for reading and you can email me at hello@blog.jasdelgado.com with any questions or suggestions about this article.

i graduated high school yesterday. like all of the other senior events, i didn’t really… feel it. i just wanted to leave. nevertheless, i guess this is a good time to reflect on what my high school life was like.


things i liked

  • making friends in robotics
  • learning in apcs (not being in apcs though)
  • learning physics for the first time (s/o to mr. cook for congratulating me last night)
  • HL MATH was really fun and difficult but that made it more fun. also really cool people in the class. this includes the other students, haha.
  • teaching at grl developers every friday
  • going to math team in the 11th grade
  • sitting alone at lunch doing math when i didn’t have friends

things i won’t miss

  • having bad grades all of the time!!
  • PE — the bane of my existence
  • not having friends
  • history notebook checks
  • feeling dumb in all of my classes (especially physics haha)

despite everyone saying it does, i don’t think high school will really prepare me for what’s next. i think maybe it’s because i didn’t take advantage of it as much and i’m plagued with this feeling with regret about high school. i’m afraid that it will repeat itself–that i’ll start off well and maybe not have any friends, then later i’ll be doing horribly and be barely able to save myself.

i can’t make predictions about it though, and i’d rather not think about school starting again in september. i’m not going to school today (i went yesterday though i wasn’t supposed to do so) and i’ve decided that this is my first day of summer break. i think i’m going to work on that programming stuff i’ve always wanted now.

goodbye high school, you kind of sucked sometimes but i guess you were okay a few times.

ib tests are over so there isn’t much to do in my hl math class other than whatever random stuff our teacher could come up with. today, that random crap was looking at a final for a berkeley calculus class.

the idea was that if you found the questions easy, you should skip the class. as a future math major and current idiot, i was very interested in this idea. especially because i had not taken any of the ap calculus tests and i definitely failed the ib hl math tests!! yes!!

of course, i didn’t expect the problems to be easy. i think that given some quiet space i would be able to solve them in some sense. what discouraged me from solving them was the speed at which my classmates made up answers to these questions. i’m used to feeling incompetent in that class but right then it just hit me that i really suck at math. like a lot. and it made me fully realize what i was getting myself into.

this is fine

don’t think this means i have doubts about choosing my major–because i definitely don’t. i think it’s really weird that people are surprised that i like math although i’m bad at it–as if you’re only supposed to like things you’re good at. (if that was the case i would find no joy in my life haha!!) but i like math and the challenges it gives me. i think my only problem is the fact that i’ll be doing it around other people, most likely people who are a lot smarter than i am. feelings of incompetence are more likely to bring me down than the difficulty of the content itself.

i think this post got a lot more personal and disgusting than i intended. but i think the idea behind it is very important and i hope that whoever reads this may resonate with the idea that you don’t have to be good at something to like it and that you shouldn’t have other people dictate how well you do something (except if it’s grades because that’s just how it works, kiddo). confidence and perseverance are very important to doing the things you like and i think once i find out what the former really is, i think maybe i’ll do better in math. i’ll have to get back on that later. ok thanks.

i have a blog on my website now.

i decided to go the easy way and use wordpress to make it. sometime in the future, i’d like to go ahead and make my own from scratch. stay tuned. (though that will probably not happen until a few more months, when i have free time.

i’m actually not sure what i should post on here. i don’t expect anybody to actually read these posts so i guess this might be treated as just me rambling. ok thanks.

since i’m ending high school in about two weeks, i’m heading into the longest summer vacation i’ve had in years. (for reference, usually school begins again in mid-august but this year it begins in mid-september–that is, if i still end up going to college haha!!)

given all this free time, i’ve realized i have so many things i could waste my time doing. i don’t actually have a physical (or digital?) list of these things so i thought i should talk about them in this post and sort them by category.


  • learn more python
  • learn more c++
  • learn some assembly
  • learn how to actually use github


  • review for placement test :^)
  • actually try to look up the classes i’m taking next year
  • accept life as a math major


  • actually draw something
  • come to terms with breaking up w/photoshop


it’s actually pretty likely that i’ll forget to do these things or i’ll end up procrastinating. but hey, at least i wrote down my goals somewhere. (i am lying to myself!)

should i find more stuff to do, i’ll add them here. ok thanks.