Jump to content

the 13th letter

  • Posts

  • Joined

  • Last visited

About the 13th letter

  • Rank

Character Details

  • Location
    The 13th Headquaters (somewhere near Munich, Germany)
  • Class
  1. So according to my notes, the last time I lurked on NF was during July 2015. Yikes! Time to change that. I don't sleep well or enough. And judging by the threads here (“The Sleeping Quarters”? Really?) I'm not alone. I figure it's the best place to start re-improving my life: it should solidify my timetable, which would solidify my mealtimes, which would solidify my work timetable, which will then be more amenable to structured exercise sessions… and not this haphazard mix of is-it-work-or-is-it-distraction and let's-do-a-few-pushups-here-and-a-squat-there-and-whatever-next-comes-to-mind. Since it's the middle of a running challenge, I will call this one a “mini-challenge” with only one… Goal: In bed by 11pm, ready to sleep. Up to ½h additional reading while in bed is permitted. “Structure. Use more of it.” I see NF has new forum software (relatively speaking). I already don't like it too much: it's more of a hassle for me to type into here than with the old one. I'll get used to it sooner or later, but I do wish to apologize in advance for the lower typographical quality of my posts. Good night. -- M
  2. Although most people fall off the face of the Earth during Week 4, I tend to have my “miraculous return†around that time instead. Such as this time as well. My challenge progress table took a while to make, but now it’s finally up. I’m also working on a different progress visualization approach—namely a “character HP/MP display box†like in most RPGs—but I don’t have anything (graphical) to show for it yet.[1] Formally, I’m doing quite well: most of the time every major column group (career, exercise, sleep) has two out of three entries positive, sometimes even all three. Informally though, it’s not really that great, as I’m over-relying on the career/homework and exercise/MA columns, which is what I’m trying to break, in the long run. And sadly, most of the career work in particular is not happening during Happy Hour. However, despite the seeming stagnation, I’m not going to let it bother me too much. My first round of CS exams is coming up during the next challenge, and I’m also in the midst of landing a part-time job as a maths mentor.[2] It’s gonna be chaotic soon, so the last thing I want to jeopardize are the beneficial stable routines I already have. So just take this challenge and the one after it as a “best effort†attempt, or an experiment: I’m going to commit to fulfilling my goals, but only if I don’t hurt my exams or my part-time job doing so. Seriously guys, I am so zen on this, you wouldn’t even know… 1Since this is going to be integrated into my desktop background, I need it as an image. And I can’t find a feasible way of programmatically re-generating the image on a regular basis. And I also have practically zero experience with image-drawing software (Inkscape, Photoshop/GIMP, etc.) and only minimal experience with “canvas drawing†(HTML5 canvas, Java AWT Canvas, etc.). Not to mention that I dread the layout work necessary for the latter. So far, my best bet seems to be laying out all the elements in a web page (which I am much more proficient with) and using PhantomJS to render and “screenshot†the page. I did look at the drawing tutorial for ImageMagick, to see if there was something less heavyweight than PhantomJS, but… ugh… 2Paperwork sent, still waiting for contract and work dates.
  3. Having spent the past 3 nights on classic computer science data structures and algorithms, I’m pretty sure it’s starting to affect my senses. Everywhere I look, I always see the same thing: “Such B-trees. Many Dijkstra. Very Floyd.†I do hope this is temporary… In other news, Happy Hour is proceeding, uh, happily. Save for “minor†sacrifices in sleep due to the homework submission thing above, I’ve been happily sticking to Happy Hour for times of happiest happiness. Furthermore, like last time, I’m preparing a challenge progress table, which is hopefully both easier to read and faster for me to generate than posting an improvised-markup progress listing here. That way, everyone’s happy!⟵See what I did there? It should be up within the week.
  4. It’s Happy Hour! Happy “Bedtime†Hour: 10–11pm. Time to be in bed within that hour.Happy “Career†Hour: 10am–12pm. Time to work on advancing my career during those hours.Happy “Fitness†Hour: 7–8pm. Time to exercise during that hour.Any career work/exercise that furthers the goal is game.We’re mostly through Week 2 already, so it’s high time for this! Go!
  5. It’s been a while. As always. I was in Munich on Thursday and Friday last week, in order to (make the Courier) borrow some books from my alma mater’s library: one book on matroids (a generalized linear independence structure), one on semidefinite programming (linear optimization problems, but with positive semidefiniteness instead of non-negativity), and one on data compression (the reason why your portable audio player can hold hundreds or thousands of songs, but CD’s can’t). Afterwards, on Friday evening, we visited TKD Munich-Southwest (the Courier’s school), during a get-together of our two respective schools. My boss’ wife was there too, and having heard I was in Munich during the day, she asked me what I was doing here. When I showed her the books, she said “Put that stuff away, geez, there are kids running around here.†Go figure. Fast-forward to yesterday, April 1st, and I get a bunch of “giftsâ€, some of which I’m not sure if they’re actually April Fool’s jokes in disguise: a (1½ weeks late?) acknowledgement of receipt for my application as a maths mentor in Munich (see item #3), including that the final decision will be made after Easter; a stack of study materials (some 250–300 pages worth) for my comp.sci. studies (see item #2), including my first set of homework, due after Easter; and finally, 2–3 inches of snow, so that we can hide our Christmas eggs under the Easter tree, or something. Go figure. Bigtime. Anyway, on the “challenge†side of things… I think it’s time to get ready to learn to bake a cake. Though I am better off sleep-/food-/exercise-wise than at the start of this challenge, I don’t feel like I can boldly claim to have “nailed†this challenge. Meh. At least this isn’t strip poker. Oh, also, my challenge progress table is now up-to-date as of April 1st 2nd.
  6. Things are going on, even if the layers of dusts and patches of weed on this challenge thread may indicate otherwise. First of all, check out this progress table. This has been my baby for the past couple of days. The official reason for this table is to visualize my workout performance over several days, given the rotating nature of my workout program. The unofficial reason is that I started keeping track of my numbers in a text file (JSON), and then I wanted to generate (or at least template) my progress reports on NF from that. Also, using jq[1] to generate the table instead of Python[2] made for a much more interesting problem to solve. (see paragraph #3)Earlier in January, I applied for a study position at the University of Hagen, the single university in Germany which offers distance education, potentially on a part-time basis. As of April 1st, I am now officially an undergraduate[3] student of computer science. So now I don’t have to get into these “but I’m not really a comp.sci. major†talks anymore. On the other hand, it’s still hard for me to not identify as a mathematician .Despite the above, I’m still looking for Ph.D. positions in maths. During this season, I’ve sent out two applications. One was for a position in statistics in Northwest Germany, the other one was for a mentoring position for maths classes at the University of Hagen’s local facility in Munich. Especially the latter would be a great complement to my comp.sci. studies, so I’m really hoping that one gets through.My mother has stepped through another set of laptops, so I’ve inherited one of hers. I am no longer bound to my workdesk! The Live USB didn’t work as such, though, because that machine has a really weird display size (1792×768), which mucks up the display in the Live USB’s default configuration. So I installed my favorite Linux distro[4] on it. Disabling Windows 8’s “Secure Bootâ€[5] and fixing the display problems in the Debian Installer took another 4 days or so as well, but… at least now it’s working.Addendum: I would like to particularly thank 7FG for his Week 4 encouragement speech from the last challenge. It’s really the reason why I managed to post this update during week 5, and not during week 7 or so. Even if I’m technically one challenge too late.As far as my challenge goals go, well… I dunno. I’d say they’re inconsistent, if anything, but they’re not failing per se; I’d be much more cynical about them in that case. Exercise is the most critical one; that one (along with working late) blocks sleep, which in turn blocks food (breakfast). I’m focusing on getting that one straight, and the rest will follow, I’m sure. And if not, then… well… I’d better start getting a hold of a recipe for those cakes I wish I hadn’t promised. Addendum: Using technology to force-shutdown my computer on time is really the best thing I’ve done so far in this challenge. If, like me, you’re in danger of not knowing when to stop work because you lose track of time, I highly recommend setting alarm clocks to knock you out of the flow. Preferably the loudest, most intrusive and most obnoxious alarm clock you can find. And if that alarm clock is digital, then you can even add in some extra perks like auto-shutdown. 1I’ve played with this tool, but only interactively, with short-ish and simple JSON snippets (~2 levels deep, only known keys and values, etc.). This is my first larger project, where the input data is reasonably large, irregular, and must be transformed somewhat non-linearly. I’m also rather new to functional languages as well, and it’s hard for me to avoid slipping back into imperative thinking. But overall, this mini-project has been really intriguing. 2My strongest language, particularly when it comes to dealing with nested data structures. 3Since I’m doing this for shits and giggles, since I know that my maths courses won’t be sufficient to skip the full undergrad curriculum, since there are no time constraints as long as I can pay the (puny) school fees and since this way I can do more computer science, nominally, I’m doing a full run: Bachelor and Master of Science in Computer Science. Of course, I’ll be applying for skipping the maths parts, so it’ll be somewhat faster than the full run. 4Debian, in case you were wondering. 5…which should more precisely be called “Obstructed Bootâ€.
  7. I gotta do my part there and stop bribing you with sweets and fast food. (Though admittedly, bribing you with, say, cauliflower, doesn’t seem very promising either.) Yeah, well… eh. (And “breathing down my neckâ€, but otherwise, correct expression.) Actually, “CC†refers to this book, or rather the exercises outlined in it. (See this review for an outline of the book.) I would know. I got her into this in the first place.
  8. This just in: The Master from Heidelberg is visiting us today, and, using a (IMO) not very believable excuse,[1] he made us do seven or eight different versions each of squat-, pushup- and situp-ish variant exercises, all the way to failure.[2] I recognized squats, calf raises (in squat position), lunges, lunge holds, situps, sideways situps, leg raises, pushups, superman pushups and hindu pushups. And then there were other variants whose names I don’t know. So yeah… I’m-a check off “workout†for today, ’kay? 1“I’m not the tallest person,[3] and I’m not the most muscular either, so I’ve thought a lot about building strength and using the whole body to unleash force.†and “Now let’s do something for our arms/legs/beer belly.†2Take for example pushups: My current standard are ≈12 knee pushups, so asking me to do 70–80 pushups of even higher difficulty until failure… well… will probably be over a lot sooner than he’d hope. 3He’s maybe 5′8″. I don’t think that counts as small.
  9. Messy IRL is messy. Sorry for the radio silence. Abridged version: I’m running into a bit of trouble with the (literal) plan, but nothing “structuralâ€; it does need adapting to our extra-late dinners (meaning bed time must change) and my lil’ bro’s schedule[1] (lest we trample on each other’s feet)[2][3]. Thanks everyone for the "Linux in a Virtual Machine/on a Live CD USB" suggestion, I really hadn’t thought of it.[4] A USB was prepared today and will come into use on Monday. Hopefully by then I can write the challenge goal breakdown for the past 1½ weeks. Cheers! 1Lil’ bro is a university student, currently on spring break. And since university is somewhat nearby, he’s back here every odd weekend or so. 2Our apartment is small, so we’re forced to share a room. Which also happens to be my work area, where my (stationary) computer sits. 3As of today: Shower, breakfast, then work (via remote connection, from our living room). Workout during the first work break, roughly at 11am or 12pm. Bed time is ½h later, or maybe 1h if needed. The rest is the same as before. 4In my mind, because of how I use them, Live CDs are strictly linked to “help, I need to backup all my data because I want to reformat my HDDâ€.
  10. Day 3 (Wednesday, 2015-02-25) Hangover day. Woke up on time, but was forced out of my room, so no workout nor work in the morning. Which led to me first hanging in front of the TV, then later on my comp, and… by the time I was done with that, I wasn’t really in any working condition anyway. Like I said, hangover day. Only without the fun(?) of being drunk the night before. Working out: nay. Oh, the inertia. Eat well: yes. Comparatively easy, seeing how my Mom is a good cook. Sleep: yes. Though this is for Tuesday night. Day 4 (Thursday, 2015-02-26) Hangover day, round two. Mostly a repeat of the day before, but not quite. I slept late the night before, but got up at my prescribed time, so I was practically a zombie during the whole morning.[1] Still couldn’t get to my room, same reason as yesterday: lil’ bro is at home, we share a room, he sleeps at different times than I do,[2] so I can’t stay in there during the morning hours. And I really need my computer,[3] because I cannot stand working on our other Windows-based laptops.[4] So I took the path of least resistance: have breakfast in front of the TV, watch a show or two, and wait for lil’ bro to wake up so that I can move into my room again. Like the day before, by the time I could move back in, I was tired and unfocused, in no good position to complete a workout, and for all those hours I still hadn’t done anything noteworthy. After lunch I tried getting back into the “zoneâ€, but the best I could manage was busywork.[5] Then, finally, later at night, after a rush of “Eh, what the heck… Let’s do it!â€, I unrolled my yoga mat and did a 85% effort workout. At least that’s something. Working out: yes. Lvl 4 Flat Frog (Leg) Raises, 14/0/0; lvl 3 Knee Pushups, 10/0/0. Eat well: yes. Waking up on time makes all the difference. Sleep: nay. Leftovers from yesterday’s hangover. I don’t have a solution for my morning timetable messup yet.[6] How would any of you deal with being cut off from your work area for the morning hours? Just about the only thing I can think of is acknowledging that my “work†plan just isn’t realistic, and using that time for reading instead… like old books, or printouts prepared the night before…[7] 1Astute readers will comment that coffee would help me with this particular problem… that is, if I were someone who actually drinks coffee. 2Curiously enough, it’s the same timetable I’m trying to get away from: have a midnight snack at 11pm, sleep at 1am or 2am or so, wake up at 11am or 12pm, and miss breakfast. 3Guess who has the only stationary computer in the house…? Guess where it’s stationed…? Guess which computer is the only one running Linux…? 4Everything I need to prepare an application (a proper typesetting system, a proper email client, and some background music) is already set up on my computer. And conversely, setting each of these up on the other Windows-based laptops would be a major headache. 5The “check off emails†and “I’ve always wanted to ask Wikipedia about …†type of busywork. 6That is, beyond making sure to steer clear of the TV. Otherwise things just go downhill really fast. 7It’s times like these when I become aware again how much of my life revolves around computers…
  11. Day 2 (Tuesday, 2015-02-24) Day 2 was slightly better than day 1, in terms of work accomplished, but it’s still nowhere near where it should be if I wanted to earn a real salary from this. I’m still too easily distracted by more exciting stuff… not exactly , but something like that. But at least this time I have tangible results. Will work on those tomorrow. Concerning adapting my morning routine: tomorrow will be the first real trial run with all family members accounted for, but even from the schematics of my routine, I see where it’ll probably clash: my parents need the bathroom at roughly the same time as I need it in the morning (and they have, like, real jobs), and lil’ bro sleeps in our workroom, so I can’t use my (stationary) computer in there, and neither can I really work out in there beforehand either. The solution seems to be to eat first (giving my parents time), then shower, then work outside my room on one of our family’s laptops, then take a mid-morning break (including the workout), and then continue until lil’ bro wakes up and releases the room. But again, this is still missing an actual trial run. Working out: yes. Lvl 1 Wall Headstands, 30 seconds (beginner standard). I figured I could do them, given that I can do (one-armed) cartwheels just fine, but… damn, there’s really a lot of pressure on the head when doing a headstand for 30 seconds. I’ll need to practice this more. But I’m glad I tried. Eat well: yes. Sleep: yes.
  12. Day 1 (Monday, 2015-02-23) — ¾ report I’ve only ever worked one job in the industry before, as a university-mandated internship at a pharma company (stats department). I remember spending the first half of the day trying to orient myself: the computer had two monitors (“how the hell do you use this thing…?â€) and Microsoft Office 2007 (“ugh… kill me now plsâ€), both of which I really wish it hadn’t.[1] And the other half of the day I spent on reading a developer’s manual from front to back to front to back to left to right to… you get the picture. And that’s kinda how I spent my first day at “work†here too, getting much less actual work accomplished than I intended.[2] Let’s hope tomorrow is better. And thank goodness this work thing is only a support structure, not one of my actual goals… Side note: The original morning routine (rules #1–3) is quite at odds with my family’s collective morning timetable; I’ll probably have to adapt them somehow. Still in the midst of trying things out. Working out: yes. Lvl 3 Angular Bridges, 8/0/0 (beginner standard). (This is CC “Veterano†day #2, since I still need to figure out how/where to do pullups.) Eat well: on track. Two of three meals taken, third to come later on. Sleep: yes. (This is from Sunday night.) 1Ironically I’ve been using a dual-monitor setup for the past 4 months or so, and while I don’t really use it much, I’ve grown quite fond of it. 2To be fair, not all of my non-work was frivolous. Much of it involved the auto-shutdown script I’ve repeatedly mentioned, which worked just fine when launched manually, but not when launched automatically. Eventually with the help of a morning star I managed to beat it into submission. Not that it boiled down to something as banal as a typo in the wrong place or anything…
  13. Well, no.On the one hand, this enforcer program starts out with reminders well ahead of the time of shutdown, because what I’m really trying to combat is the “oh crap look at the time I was supposed to be in bed 3 hours ago†factor. I already have a good reason to be in bed at that time (I have to “go to work†the next morning), I just want to make sure I don’t miss my time.On the other hand, in the one anticipated scenario where I do overdraw my evening—namely, I have an application due by tonight—it makes little sense to limit the amount of extra time I take; the need for time is dictated by the application itself, not my own desire.…however, this does lead me to believe that I should schedule the enforcer for every half hour, or every twenty minutes, instead of every hour, during the “manual override†period. Which I now will. Honestly speaking, there are a few (somewhat banal) reasons why my program is sectioned this way:The default is to enforce the shutdown. Asking for whether to extend the session makes the (de facto) default “yes, please extendâ€. As such, it suggests (and thus over time conditions) the not-intended response.Because of (1), I want all of the countdown plus shutdown to run as a unit. And if I do interrupt that unit, then I want execution to resume after that whole unit. In shell script, the only quick way I can think of to interrupt something and have execution continue after that something is to encapsulate that something as a separate process.In a monolithic program, if I’m interrupted in the middle of sleeping, I need to calculate when and how to schedule the next countdown, the exact details of which depend on how long I’ve already slept. That would evolve into me actually having to do some serious thinking for this project. But doing it this way, as a Cron-scheduled single-minded timer plus session terminator, the time calculations become much simpler, cleanup after an interruption becomes a no-op, and I can just tell Cron to launch the program and let Cron take care of the scheduling, That’s way less inertia.In a monolithic program, I can forcibly terminate the whole program. In this Cron-scheduled version, I’d have to terminate Cron. Cron also schedules other system maintenance tasks, so I won’t do that.I wrote the program in shell script, because of the “granularity†of the four things it needs to do: for each of them (suspend for X seconds, check if I’m logged in, show a notification box, and log me out) there is a program that, called with the right options, does precisely that, and nothing more. That’s exactly the sort of realm that shell scripting is intended for. A corresponding version in Java or C++ would take a lot longer to write and to debug. So again, low inertia. Thanks a bunch! ^^ See, the sad thing about being part of such a geographically focused branch is that I would love to say “go take a look at XYZ school, they’re colleaguesâ€. But unless you happen to live in Hawaii, I don’t know of any schools in the U.S. …and here’s the part where I surprise you by telling you that I’m not a CS major, I’m actually a maths major, and that I’m looking for a Ph.D. position in statistics or optimization. Still, thanks to an “inside man†at university and quite a bit of practical experience of my own, I’m as close to a CS student as one can get without formally being one. The disciplines within CS I want to dig deeper into are microprocessors/embedded systems as well as compiler systems/virtual machines. I also have maths-related experience with (graph) algorithms and data structures (recall: optimization), and applied cryptography, as well as hands-on experience working with and programming on POSIX-ish systems (primarily Linux, but some *BSD too).(And that sounded more like a “job wanted†ad than I wanted it to. Sorry.)
  14. A branch of Tae Kwon Do that associates neither with the ITF nor the WTF. It’s the result of one Korean grandmaster “importing†the art into Europe, and Germany in particular, so this branch is practically only known here and nowhere else. See this entry (footnote 1) for an explanation of our heritage. For those to whom that doesn’t make sense, we do Tae Kwon Do—which is a striking art with an emphasis on kicks and precise strikes, but without grapples—in a non-contact style to emphasize health, correct posture and body control. Yeah, well, eh, I’d prefer to not be responsible for mass food poisoning of family members. But on the other hand, I reckon that engineering students are fair game. /troll-face I was actually somewhat hesitant on setting such a lofty goal of 10:30pm; I had imagined it would be much harder to get you on board as well. Well, that’s one problem down. Insofar as I can get away with it: Nononononononono! Over my dead body! Here’s a sneak peak: the aforementioned tool for automatic shutdown at 10:15pm.#!/bin/shrp_running (){ pgrep -u "$USER" -c ratpoison >/dev/null}countdown (){ rp_running && DISPLAY=:0.0 notify-send -t 10 -u high shutdown "$1"}countdown 'in 15 minutes'sleep 10mcountdown 'in 5 minutes'sleep 3mcountdown 'in 2 minutes'sleep 90countdown 'imminent'sleep 30rp_running && DISPLAY=:0.0 ratpoison -c quitSince most of you probably don’t speak shell script, here’s an English version:Display a notification "15 minutes until shutdown" if my desktop session is running.Wait 10 minutes.Display a notification "5 minutes until shutdown" if my desktop session is running.Wait 3 minutes.Display "2 minutes …" if …Wait 1½ minutes.Display "imminent shutdown" if …Wait ½ minute.Terminate desktop session if my desktop session is running.Now, this script is scheduled to run on weekdays at 10pm. For good reasons, I could stop this automatic shutdown by killing this script while it hasn’t terminated my session yet. So I’ll schedule this script to run hourly between 11pm and 5am as well, so that killing the script buys me only an extra hour instead of a full night.As far as rules #4–6 go: the idea is to replace the “desktop icon†for email with a script that asks for confirmation (rule #4) and records the time of successful email-after-job-search, a background job that regularly checks if email has already been checked today (via the rule #4 enforcer) so that I can have lunch (rule #5), and another script that periodically shuts down common candidates for soft work until I have confirmed I have already had lunch (rule #6). I think the tricky part is to avoid making a habit of bypassing the confirmation dialog, like how the "Are you sure you want to delete this file?" dialog doesn’t stop me from deleting the wrong files because I’m so used to bypassing it. For that, I’m thinking of a longish confirmation sentence instead of a button, such as "Yes, I hereby confirm that I have already conducted a search for Ph.D. positions today.", requiring exactly that phrase, punctuation and spelling and all. I estimate only a couple hours until I have these ideas codified as software.
  15. In the context of this recent challenge, yes, this is quite true. I’m strong enough to do what I need my strength for (my martial arts classes), I doesn’t really matter if I sleep late and wake up in the middle of the day because there’s nothing in the morning that I could miss, and the application thing was actually seemingly going very well (and thus follow-up on other positions did not feel necessary) until it exploded in my face. So yeah, I know I had it coming. My “foundationâ€, as solid as it was supposed to be, was built on quicksand. And that is why for the next round, I’m trying to invest more interest in it by making it a lot more painful to fail and easier for me to look at this from a more challenge-empowering perspective. The larger picture behind this is about crafting an environment (in this case, a timetable) that encourages building those other foundational habits because they fit into the picture, not because I try to transplant them from a different situation in which they fit into another one they don’t fit into. Despite the grim message, thanks for checking up on me, Kishi! Part of what keeps me coming back to the forums, even if only to stumble and fall again, is seeing people who don’t “know†me per se still cheer, provoke and otherwise show concern for me. And you are one of the best at doing just that! I’d probably have dropped off the face of the earth long ago had you not stopped by so often to congratulate me and offer wisdom. (Oh, and the kicks to the ribs. Those too.)
  • Create New...

Important Information

New here? Please check out our Privacy Policy and Community Guidelines