29 votes

What are you coding today?

What are you coding? Or are you reading a CS paper?

and of course, have you read SICP today?

                             ___-------___
                         _-~~             ~~-_
                      _-~                    /~-_
   /^\__/^\         /~  \                   /    \
 /|  O|| O|        /      \_______________/        \
| |___||__|      /       /                \          \
|          \    /      /                    \          \
|   (_______) /______/                        \_________ \
|         / /         \                      /            \
 \         \^\\         \                  /               \     /
   \         ||           \______________/      _-_       //\__//
     \       ||------_-~~-_ ------------- \ --/~   ~\    || __/
       ~-----||====/~     |==================|       |/~~~~~
        (_(__/  ./     /                    \_\      \.
               (_(___/                         \_____)_)

48 comments

  1. [13]
    what
    (edited )
    Link
    I haven't participated on Tildes for nearly three months, I figure this is a good time to start again :) I've been focusing a lot on native desktop app development, particularly with Python and...

    I haven't participated on Tildes for nearly three months, I figure this is a good time to start again :)

    I've been focusing a lot on native desktop app development, particularly with Python and GTK+.

    The project I've been working on for the past few days is a Markdown note-taking app called Notementum (I'm great at names). I know, I know, it's been done to death, but I haven't found anything that met all my needs, so I decided to take a stab at it. I've been working on a bit of a writeup, excuse any typos:

    Here's a list of some basic features of the type of app that I want:

    • a list of notebooks
    • each notebook has a list of notes
    • notes support some kind of standard/popular/widely-used markdown (Commonmark, Github Markdown, etc.)
    • notes support LaTeX math
    • notes can have embedded images
    • the app has a fairly simple interface, that's distraction-free and non-bloated
    • it looks somewhat pretty :)

    The closest thing I've got is Notable, which is a great app and has met most of my needs for a few months, but I have quite a few problems with it:

    • opens slow, is laggy, and uses too much memory (I think a lot of this is thanks to Electron)
    • doesn't support encrypting your notes
      • this is particularly important for any kind of syncing
    • attachments can be difficult to manage

    Although I do appreciate how good it looks, the good keyboard shortcuts, the ease-of-use, and the fairly minimal interface, which also as a "focus mode".

    Okay, that's enough typing, here's a few screenshots of what I've got so far:

    Note preview (featuring my old high school math notes)
    Note editor
    Preview showing some more math

    Some technical details:

    • Made with Python 3 and GTK+ 3
    • Notes are stored in a sqlite database
    • Previews are rendered in a GTK WebKit WebView
      • mistletoe for Markdown -> HTML
      • MathJax for rendering LaTeX math

    I'm very happy with performance so far. Some very rough benchmarks on my older Thinkpad, compared to Notable:

    • Startup up: ~4 seconds (Notable: ~11 seconds)
      • Both apps have the same amount of notes
      • This is time until the app is actually usable. Notementum is fully usable as soon as it opens, Notable opens after ~4 seconds and slowly loads the interface until it's usable
      • I haven't implemented any kind of threading or smart loading, the sqlite database is loaded entirely on startup, on the main thread. This will obviously be a problem for (much) larger databases, and is something I plan on implementing eventually
    • Both apps idle at ~0% CPU
    • After letting a preview finish rendering, scrolling through it takes 3-7% CPU (scrolling through the same note in Notable: 10-15% CPU)
    • Starts at 30 Mb of memory, goes up to around 40 Mb after loading and previewing a large note (Notable starts at around 100 Mb, goes up to around 150 Mb after previewing the same note)

    Obviously Notable has more features than Notementum, but at this point I'm very happy with the app's general speed and resource usage.

    That's where I am so far. I'm going to be trying to release this sometime this week (open-source, of course), hopefully after I get a few additional features like embedded images, database encryption, and exporting done.

    15 votes
    1. [3]
      Deimos
      Link Parent
      Hey @what, good to see you back around! How's desktop app development in Python been overall? I've always just done CLI and web and haven't tried any of the desktop GUI libraries/toolkits. I don't...

      Hey @what, good to see you back around!

      How's desktop app development in Python been overall? I've always just done CLI and web and haven't tried any of the desktop GUI libraries/toolkits. I don't know much about the options, but was there something in particular that made you pick GTK+? I know that some other Python GUI applications (like the calibre ebook manager) use PyQt, but I don't know much about the differences.

      9 votes
      1. what
        Link Parent
        Good to be back :) Python is always nice to work with, and it has great libraries, it's been a pleasure using it for desktop apps. Gtk+ vs Qt is a topic that gets debated pretty often. I'd say at...

        Good to be back :)

        Python is always nice to work with, and it has great libraries, it's been a pleasure using it for desktop apps.

        Gtk+ vs Qt is a topic that gets debated pretty often. I'd say at this point Qt has "won", it's more popular, it seems like the majority of new projects use it, and quite a few existing projects have switched to it from Gtk. I'll probably use it at some point in the future, or maybe port something to it, but I'm quite happy with Gtk for now. I think it looks good, has pretty good documentation, and the UI designer (Glade) is very nice to use. I've used it before so I'm inclined to stick with it, but I should probably try Qt more in the future.

        Qt just published a blog post about Qt and Python, it's clear that they're putting a lot of work into it: Technical vision for Qt for Python

        5 votes
      2. rhaksw
        Link Parent
        Yo, thanks for setting up this site. Based on this post I already like it better than reddit. It has a small community feel.

        Yo, thanks for setting up this site. Based on this post I already like it better than reddit. It has a small community feel.

        5 votes
    2. Diff
      Link Parent
      Notes-Up ticks a lot of the same boxes, except no LaTeX support. Definitely keep us updated on Notementum, looks like a great project!

      Notes-Up ticks a lot of the same boxes, except no LaTeX support. Definitely keep us updated on Notementum, looks like a great project!

      4 votes
    3. [2]
      Apos
      Link Parent
      The one I use is called Joplin. I think it ticks all your requirements. https://joplinapp.org

      The one I use is called Joplin. I think it ticks all your requirements.

      https://joplinapp.org

      4 votes
      1. what
        Link Parent
        Joplin was the app I used for a long time before Notable, and it does come very close to all my requirements. It's probably my first recommendation for those looking for a Markdown notes app....

        Joplin was the app I used for a long time before Notable, and it does come very close to all my requirements. It's probably my first recommendation for those looking for a Markdown notes app.

        Unfortunately it has the same problem as Notable of high resource usage: it's 500 Mb, uses over 150 Mb of memory, and generally uses a fair amount of CPU. I think a lot of this is due to Electron.

        That aside, I love that it can be used from the terminal, how snappy the preview is, and the mobile app.

        6 votes
    4. [3]
      switchy
      Link Parent
      I use Zim wiki, which supports a lot of what you want, except it has a non-markdown syntax (it is Python+GTK though!). Don't let that get in the way of making what you want though, it does...

      I use Zim wiki, which supports a lot of what you want, except it has a non-markdown syntax (it is Python+GTK though!). Don't let that get in the way of making what you want though, it does sometimes feel like it's a lacking space.

      3 votes
      1. [2]
        what
        Link Parent
        Thanks (@Diff too), these both look like great apps, and they definitely tick some boxes that I want, there’s definitely lots to be inspired by them. I was thinking about this, and wondering if it...

        Thanks (@Diff too), these both look like great apps, and they definitely tick some boxes that I want, there’s definitely lots to be inspired by them.

        it does sometimes feel like it's a lacking space

        I was thinking about this, and wondering if it was just me. Everyone and their mother has made a Markdown notes app, and yet I can never find the perfect one. Sure I could get by on most of them, but it seems like the perfect space for rolling your own, not too complex, and a good variety of features to make it a great learning experience.

        My end goal is to make something useful for myself, and hopefully it’s useful to someone else too :)

        5 votes
        1. switchy
          Link Parent
          Isn't that funny? I wonder if there's a feature matrix out there for all the players in the field. For me, Zim's journal feature, ease of linking, and git integration are the killer features, but...

          Everyone and their mother has made a Markdown notes app, and yet I can never find the perfect one

          Isn't that funny? I wonder if there's a feature matrix out there for all the players in the field. For me, Zim's journal feature, ease of linking, and git integration are the killer features, but everybody has their own little tweaks on the requirements.

          2 votes
    5. [3]
      rhaksw
      Link Parent
      Sounds cool. I get a 404 for the images you linked.

      Sounds cool. I get a 404 for the images you linked.

      2 votes
      1. [2]
        what
        Link Parent
        Oops, looks like I had them set to expire, fixed now.

        Oops, looks like I had them set to expire, fixed now.

        2 votes
        1. rhaksw
          Link Parent
          Sweet, now that I can see the images, I look forward to the release ! 1 week, in programmer time, is about 2-3 weeks I guess :-D

          Sweet, now that I can see the images, I look forward to the release ! 1 week, in programmer time, is about 2-3 weeks I guess :-D

          2 votes
  2. [5]
    Soptik
    (edited )
    Link
    I just made pretty nice video summarizer app! I was just learning Rust, so I used this as an exercise. Basically the application allows user to change speed of the video at different rates...

    I just made pretty nice video summarizer app! I was just learning Rust, so I used this as an exercise.

    Basically the application allows user to change speed of the video at different rates depending on audio level. So loud parts (speech) can be sped up 1.5x, while silent parts can be sped up like 5x or left out completely.

    I do this by extracting audio, and seeing where the audio remains roughly the same level for suspicious amount of time. When plotted, an early version of the algorithm looked like this. The purple part is sound level, and green marks silent parts decided by my algorithm.

    Afterwards I use shitton of ffmpeg to actually do what I want to. An interesting fact, did you know that there is maximum number of cli arguments? I wondered why video split into more than 5000 small video segments wouldn't concatenate :-)

    loud parts sped up 1.5x, silent parts removed

    Name Duration (s) Silent time (%) Saved time (s)
    DEFCON 17: That Awesome Time I Was Sued For Two Billion Dollars 1887 15.32% 822 (43.55%)
    1. Introduction and Scope (MIT AI course) 2838 40.12% 1706 (60.08%)
    Black Mirror: White Christmas 4326 11.93% 1786 (41.29%)
    Puella Magi Madoka Magica Ep 10 1449 7.22% 553 (38.15%)

    I expected the results to be pretty good for various courses and lectures, which they are. But I'm really surprised that the result wasn't that bad even on anime (to be fair, you probably don't want to remove silent parts from anime, but it's still better than I thought). I'm really surprised that the results are that good, and the edited video is even watchable.

    11 votes
    1. [2]
      what
      Link Parent
      I watched a youtube video with a similar concept just the other day, this is a great idea, especially for students! Do you think it’s possible to do this during playback (for example, a VLC plugin...

      I watched a youtube video with a similar concept just the other day, this is a great idea, especially for students!

      Do you think it’s possible to do this during playback (for example, a VLC plugin or something) as opposed to having to process the video beforehand?

      5 votes
      1. Soptik
        Link Parent
        I'm glad you like the idea! I've actually seen video from carykh who did something similar, but it was extremely slow, so I did my own version. It might be possible - but I don't know whether with...

        I'm glad you like the idea! I've actually seen video from carykh who did something similar, but it was extremely slow, so I did my own version.

        It might be possible - but I don't know whether with ffmpeg, which is the tool I use to edit the video. Maybe there exists a clever way how to do it, but so far with everything I've done, ffmpeg sent me the results at the end when everything finished.

        Another problem is, that when I want to keep original resolution and have high audio quality, it takes slightly longer than the video duration to actually process it. I offer --fast option in the program, which makes it really fast (and the way I do it, which partly evades ffmpeg, would actually allow me to make a way to stream it in realtime into vlc if I took the time to do it), but the resolution is generally not that great and sometimes the audio shutters a little bit. It's pretty usable for lectures and courses, but sometimes mildly annoying.

        However if I put the video editing aspect itself aside, it might be possible without too much hassle! For example with the VLC plugin. The act of finding out where to speed up how much is actually really fast, it took few seconds in 20 minute video. So I can imagine VLC plugin that analyzes the video for few seconds and than changes playback speed as you are watching it. But I don't know how to write VLC plugins, so I can't offer better insight into this.

        5 votes
    2. [2]
      unknown user
      Link Parent
      The first link in your comment is a link to the topic, I guess you meant to link the code there.

      The first link in your comment is a link to the topic, I guess you meant to link the code there.

      2 votes
      1. Soptik
        Link Parent
        Thanks, it's fixed now.

        Thanks, it's fixed now.

        2 votes
  3. [5]
    hungariantoast
    (edited )
    Link
    I started working on a task management program today, which is pretty neat, because I've been conceptualizing an idea for a program like this for a good bit of time now. Of course, what I'm...

    I started working on a task management program today, which is pretty neat, because I've been conceptualizing an idea for a program like this for a good bit of time now.

    Of course, what I'm actually working on building is definitely not intended to become the big, grand project that I've written countless notes for, but it's still a good place for me to start.

    So basically, I've been using Taskwarrior to manage my tasks for a few months now and it's worked really well, but I had some ideas on things that I'd like Taskwarrior to do differently and there are a bunch of features of Taskwarrior that I don't use, so I started, for fun, brain storming ideas of how I'd want my theoretical replacement program to work.

    Well, one thing led to another and this idea has been slowly blown up into this behemoth (theoretical) program that I have no hope of ever writing. I mean, I'm creating a goddamn wiki just to properly document the idea, because it's no longer just a task management program, it's a personal wiki as well, with command line, terminal, and graphical user interfaces, has built in features for archiving and compressing data, and even its own built in (but extremely simple) text editor (for which there are dozens of code examples online; building one of these simple editors is great practice).

    What's neat is that, by obsessing over this idea every single day for a long time now, each of these separate components actually have a lot of detail and thought put into them. Like, I've got this concept of primary and secondary task lists that can interoperate with each others' data. So, your primary task list would be all the tasks you want to get done in the foreseeable future, but you probably wouldn't include in that list stuff like "Wash your clothes". So, you'd have a secondary, daily task list where you could input menial tasks for the current day that you need to keep yourself reminded on, but don't necessarily fit in with the tasks on the primary list. Then, tasks on the primary list can be assigned to the daily task list or they might auto-populate that list if their due date matches the current date. If you lapse a due date on the primary task list, in other words, you don't complete the task before it's due, the program might just color overdue tasks differently. On the daily task list though, tasks that are created for that list get pushed to the next day, for every day that they aren't completed, until they're marked as completed or deleted.

    This is actually how I keep track of tasks in real life. I have Taskwarrior for everything I want to get done, ever. Then, I also have a physical book on my desk where, everyday, I write down the tasks that are due or that I want to complete that day. For every day they aren't completed, they get written in for the following day. That's kind of how this entire idea came about, I wanted an easy and simple way to manage these two different kinds of task lists in Taskwarrior, but the program doesn't really provide a way to do that. Naturally, the only possible solution is to roll my own.

    Then there's the personal wiki side of things, which is meant to integrate very tightly with the task list, to the point that they might be indistinguishable, with tasks actually being able to be assigned and created inside the wiki page markup.

    Oh and yeah, I plan on designing my own lightweight markup language that the program will interpret for both task items and (wiki) page items. Ideally a user should be able to create both task and page items using the same human readable syntax in a text editor, reliably, and have that data be read by the program. I haven't even started investigating how I'd like this to work yet though. My first instinct was to just take a look at the Markdown and MediaWiki syntaxes to see what elements of those could be combined, for familiarity, but now I think I'm just going to come up with something completely different that will probably steal from a bunch of different markup and wiki syntaxes until I get something I like.

    The most recent ideas I've been working on writing out have to deal with how mind maps and Kanban boards might fit into the overall idea. Eventually I want to get around to fleshing out ideas on how to incorporate tools for graphing and visualizing data, sort of like gnuplot, but simpler and smaller in scope.

    At this point, I'm just working on this idea because it's fun, not because I think I actually have a shot at ever writing a program as complicated as this. I mean, it's definitely not a minimal idea, it's not supposed to be. I feel like if I only constrained myself to coming up with ideas for things that I'd definitely have a chance at creating, this would be a lot less fun and interesting of an idea.

    The sad thing is, I'd kill to have a program like this that seamlessly integrates multiple personal information/knowledge management workflows to become the single, effective repository for everything you'd ever need to remember, but it's a ridiculously complicated idea.

    So let me say it again, this idea isn't the program that I started writing today, but it is the humongous, "maximalist" inspiration for the relatively simple task management program that I started creating for myself. My immediate goal is to replicate some of Taskwarrior's basic features and add a few nice ideas of my own, like the primary/secondary task list idea, so that I can have something minimal and simple enough to keep track of all of my tasks digitally, and maybe continue hacking on in the future.

    Later on, who knows, I might end up working on a separate personal wiki program just for fun.

    I've got a lot of ideas for this program, because, like I said, I just really enjoy thinking and writing about it. Probably for the same reasons that some people (I) like worldbuilding. If anyone has any questions or their own ideas, I'd love to hear them. If I ever get done translating my jumble of notes and pseudo documentation into a proper wiki page, I'll probably share it here on Tildes.

    TL;DR: Org-mode without the Emacs. Working name: Bebop.


    Finally, I'm hesitant to call it "coding", but I created a PaperColor light theme for Tildes and tomorrow I'd like to complete the dark version of that theme as well. Then I might recreate the six versions of gruvbox that I had made in the past, as well as any other themes I fancy.

    10 votes
    1. [2]
      what
      (edited )
      Link Parent
      This sounds like an awesome idea! I've always been really interested in personal wiki software, but for whatever reason I never got into using it, maybe partially because it seems like every...

      This sounds like an awesome idea! I've always been really interested in personal wiki software, but for whatever reason I never got into using it, maybe partially because it seems like every option would only handle a subset of what I wanted, and I would end up having to use multiple solutions. I strongly agree with the whole Unix philosophy of "do one thing well", but at the same time, there's something appealing about this sort of monolithic piece of software that can do everything you need and tightly integrates a bunch of different concepts in a meaningful way.

      I've been working on my own notes app for the same reason of being dissatisfied with existing solutions, and it's got me thinking about some of the same things (but with a much smaller scope). I really hope you work on this, even if that just means releasing your documented ideas, or slowly building parts of the app and releasing them as open-source, this sounds like an amazing idea.

      5 votes
      1. hungariantoast
        Link Parent
        Thank you! This is the first time I've really talked about this idea in detail, so it's nice to hear good things. Once I actually have a task management program and not just a blob of Python that...

        Thank you! This is the first time I've really talked about this idea in detail, so it's nice to hear good things.

        Once I actually have a task management program and not just a blob of Python that spits out text, I definitely plan on pushing it to a repository and sharing it. From there, if I enjoyed the experience of writing the program and it's in a state that I'm happy with, I could easily imagine myself continuing to hack on it, add new features, and even start building other "components" of this idea.

        I also saw your comment about Notementum and it looks great! I haven't thought about how I'd handle math in my idea, but your approach looks like it works perfectly. Definitely post a topic about the program when you release it, because I can't wait to try it out!

        3 votes
    2. [2]
      DMBuce
      Link Parent
      That sounds similar to what I do, except with paper. I have a folder I take between home and work with a page for long-term goals where I write down "everything I want to get done, ever", as you...

      This is actually how I keep track of tasks in real life. I have Taskwarrior for everything I want to get done, ever. Then, I also have a physical book on my desk where, everyday, I write down the tasks that are due or that I want to complete that day. For every day they aren't completed, they get written in for the following day. That's kind of how this entire idea came about, I wanted an easy and simple way to manage these two different kinds of task lists in Taskwarrior, but the program doesn't really provide a way to do that. Naturally, the only possible solution is to roll my own.

      That sounds similar to what I do, except with paper. I have a folder I take between home and work with a page for long-term goals where I write down "everything I want to get done, ever", as you said. Then I have todo lists for every day of the month, a physical calendar, and a page of recurring things like weekly/monthly/yearly tasks and birthdays.

      Once a year I'll copy yearly and monthly tasks onto a new calendar. Once a month I'll copy weekly tasks to my calendar and create todo lists for that month by taking a sheet of paper for each day writing the date on it. Once a week I'll copy everything from my calendar to my todo lists, and then every day I'll copy uncompleted tasks from yesterday to today's todo list, like you described.

      So there's some manual effort involved but it's not much (5 minutes here and there) compared to the effort of developing an app that suits my taste. Plus if my workflow ever changes it's a quick trip to the stationary store to support those changes vs. spending time on new features. E.g. I'm planning on switching to a notebook for my todo lists at the beginning of next year so that I have a daily record of what I've done every year. As another example of my workflow changing, I used to write my todo list on the left side of the paper and then block out different times of the day to do the tasks on the right side, but now I just group tasks with stuff to do during the workday in a list at the top of the page and stuff to do after work in another list at the bottom.

      I don't have a personal wiki (well I do, but I haven't used it in ages), but anytime I have a project with little details I need to remember I'll start a sheet of paper for that project.

      Anyway, hopefully I haven't strayed too far off-topic but I just wanted to ask, have you considered going the other way and using paper? It definitely has its pros and cons but personally I like its flexibility.

      2 votes
      1. hungariantoast
        Link Parent
        Yes, when I started keeping my daily task log in a physical journal, I also thought about dropping Org-mode and Taskwarrior entirely in favor of paper. In the end, I like digital solutions more...

        Yes, when I started keeping my daily task log in a physical journal, I also thought about dropping Org-mode and Taskwarrior entirely in favor of paper.

        In the end, I like digital solutions more than physical ones. It's really just more of a personal preference than anything.

        I didn't really talk about it in my original comment, because it's a more technical aspect of the idea that I haven't entirely fleshed out yet, but I would like for there to be some sort of extensibility and plugin support for the program so that, just like how the user might have a primary task list and a secondary, daily task list, they can create additional, custom task lists that have their own rules like the daily task list does.

        Just a quick, probably weird and unrealistic example, let's say every Friday you go to the grocery store to stock up. Throughout the week you add the name of the grocery items you need to get Friday to a custom secondary task list tracked by the program. This list doesn't have due dates, priorities, projects, or tags, it literally just has two categories: "item name" and "aisle #".

        Why? Because you don't want to waste any more time outside around other people than is necessary, so you determined the most optimal path into and out of the grocery store and you do this by tracking the aisle each item you'll be buying is on.

        Again, a weird example, but it works. So, this user has a primary task list just like you would have with Taskwarrior, they probably even have a secondary, daily task list that has its special rules, but then they have another secondary task list devoted to grocery items. It's an entirely different list, with its own two, unique, custom categories for sorting data, and it doesn't have to interact with any other task list unless the user makes it do so.

        Ideally, the user should be able to wipe this list every Friday at 11:00 PM or something, long after they've come and gone from the store. And since the program will track removed tasks until they're explicitly deleted, they can recover Friday's list if they happen to miss its deadline.

        Hopefully that gives a good idea of some of the customization that I'd like to enable.

        Figuring out how to introduce that sort of programmability is difficult though. The only system I have experience with that is similar to how I'd want the program to work would actually be Org-mode and Emacs' lisp interpretations, with how much freedom that gives the user to hack on the software.

        My point is, even though I only covered my ideas for the program's defaults in my original comment, the real goal is to have an interactive, extensible slate which users can take advantage of to build their own, unique workflows for managing information and knowledge, whether it be replicating my daily task list, replicating the functions of a bullet journal, or even replicating the workflow you described to me in your comment.

        And that is why I'm so enamored with this idea and want to stick with it, because it should be as little or as much as you want.

        The Taskwarrior documentation flat out admits that you'd have a better time with pen and paper if all you want is a grocery list rather than tasking out your future.

        Nuts. A single program should be capable of both, at the same time.

        1 vote
  4. Elronnd
    Link
    I've been doing a lot of game development lately; I should get back to application development. Just today I was working on my fork of the NetHack variant Slash'EM. Nothing really exciting. Just...

    I've been doing a lot of game development lately; I should get back to application development. Just today I was working on my fork of the NetHack variant Slash'EM. Nothing really exciting. Just internals stuff, rewriting the graphical output to be sane and making it slightly prettier.

    NetHack is...an interesting game. It supports decades-old platforms, including from before c was standardized; not until the next version, I think, will it stop using k&r function prototypes. It still has support for running on DOS, Amiga, and Atari, and for running off of floppy disc. It has support for overlays; essentially, that means the game is split into multiple parts before being linked together, for systems with limited memory. It has very little reliance on the c standard library and keeps compatibility with broken c compilers; it SHIPS WITH ITS OWN BLOODY C PREPROCESSOR and *used to come with its own malloc implementation!

    Well, I've been slowly whittling away at all that, getting rid of dead code that has no relevance to modern-day terminals. Getting rid of code that produces graphics parsed by IBM dumb terminals. Adding unicode support and a nicer UI. My goals are not dissimilar to those of nethack4, although that's mostly stopped development since its main developers were poached by the mainline nethack devteam.


    Really, what I should be working on is my main game engine, but I'm putting off doing that because I have to figure out allocator stuff and—bleh.

    10 votes
  5. [3]
    redhotkurt
    Link
    I'm troubleshooting the front end of a minor feature enhancement for a fairly large WordPress multisite network (300 sites live on production), and I'm stuck on this part where li items have a...

    I'm troubleshooting the front end of a minor feature enhancement for a fairly large WordPress multisite network (300 sites live on production), and I'm stuck on this part where li items have a seemingly inescapable top margin and are thus visually off-center, despite my going so far as deleting all the styles in the associated .styl files in the hopes that would at least remove the styling glitch (it did not). I'm kind of an older graphic designer-turned web designer-turned "web/IT guy" who is now in sort of a junior web developer role, where I know enough php to be dangerous but don't have a good enough understanding of how things work to really call myself a web developer. I guess I'm just kinda feeling the pressures of midlife obsolescence creeping up on me, and jeez, it feels good to finally admit that out loud. Frick. Yeah, it's like I know I have to adapt if I want to survive, but it's do damn hard to get excited about that, you know?

    Dammit, I can't figure it out. I give up. I committed everything I had to the feature branch and tagged our ui/ux dev for help. The dude is like two decades younger than me. Everything works except this one glitch, I got the entire feature enhancement finished on my own except this one little thing. Fuck, I hate this.

    8 votes
    1. Deimos
      (edited )
      Link Parent
      Is there a page public anywhere that shows the CSS issue? For problems like that I usually manage to sort them out using Firefox's dev tools. There are a few different ways to try to figure out...

      Is there a page public anywhere that shows the CSS issue?

      For problems like that I usually manage to sort them out using Firefox's dev tools. There are a few different ways to try to figure out where a particular effect is coming from, and if nothing else you can always try toggling individual CSS declarations to try to find what's causing it.

      8 votes
    2. asoftbird
      Link Parent
      Do all the things and get stuck on something that's probably obscure and non-vital for functioning? l'd say that's okay and you know how to tackle it the next time it occurs once fixed.

      midlife obsolescence

      I got the entire feature enhancement finished on my own except this one little thing. Fuck, I hate this.

      Do all the things and get stuck on something that's probably obscure and non-vital for functioning? l'd say that's okay and you know how to tackle it the next time it occurs once fixed.

      3 votes
  6. slambast
    Link
    I'm working on the web interface for my Raspberry Pi-based thermostat! I've slowly gotten all the hardware together over the last couple of weeks—the Pi, a DHT22 for temp/humidity sensing, a relay...

    I'm working on the web interface for my Raspberry Pi-based thermostat! I've slowly gotten all the hardware together over the last couple of weeks—the Pi, a DHT22 for temp/humidity sensing, a relay module, a Pro Trinket to read the DHT22 (Linux doesn't do great with microsecond timing)—and now I'm getting down to business on the software side of things.

    I already have tiny REST APIs for reading sensor values and controlling the relays (e.g. POST rpi.lan/cool to turn the AC on), but the management interface is a bit more involved. So far, I've gotten basic graphs working, and next I just need a few buttons and such for setting the temperature. Then, I just need the actual logic for turning the heat/AC on and off when appropriate, and I'll be more or less done!

    7 votes
  7. [3]
    ali
    Link
    I have to create a project that’s not too trivial using deep learning with 10 days left. Today i followed some TensorFlow tutorials to get the hang of the syntax etc. since I already have the...

    I have to create a project that’s not too trivial using deep learning with 10 days left.
    Today i followed some TensorFlow tutorials to get the hang of the syntax etc. since I already have the theory down. If anyone has any funny ideas, let me know. I’m thinking of creating some art with it.

    And i have to work on the Website for my work that should go live by the end of the month. I’m using google calendar as a backend and fullcalendar to display Events.

    6 votes
    1. [2]
      SourceContribute
      Link Parent
      What books/tutorials did you read to catch up on the theory? I've started (slowly) making my way through Hands-On Machine Learning but it's quickly becoming apparent that I probably should catch...

      What books/tutorials did you read to catch up on the theory? I've started (slowly) making my way through Hands-On Machine Learning but it's quickly becoming apparent that I probably should catch up on the foundations and theory.

      5 votes
      1. ali
        Link Parent
        Depending on what you want to learn, I can list you the resources. So I am studying for a masters in 'autonomous systems' I had a lot of courses to get me started. Computer Vision 1&2 - i think...

        Depending on what you want to learn, I can list you the resources.
        So I am studying for a masters in 'autonomous systems'
        I had a lot of courses to get me started.

        • Computer Vision 1&2 - i think the Book was called 'Computer Vision a modern - I can look it up if you want
          -statistical machine learning - 'pattern learning and recognition' by Bishop. It’s a really amazing book and I think the pdf is available for free
        • ai in general - ' artificial intelligence a modern approach'
        • Deep learning - the cs231n lectures of Stanford university are amazing. I posted that on the ~comp wiki
          For that I’m also planning to read the book 'deep learning'

        Even though I had a lecture in statistical machine learning though, most of what i actually learned came from that amazing book. So i highly recommend it. I can tell you the chapters/topics that were covered in my course, if you like.
        And I can’t recommend cs231n enough. It’s a seriously well made course

        4 votes
  8. switchy
    Link
    Just for funsies, to learn Rust I'm trying to follow "Writing an Interpreter in Go" (but in Rust, obviously!)

    Just for funsies, to learn Rust I'm trying to follow "Writing an Interpreter in Go" (but in Rust, obviously!)

    6 votes
  9. rhaksw
    Link
    Hi! I just joined this site. I'm working on revddit.com , a side project I launched in October 2018 that shows you removed content for your reddit account. It is a fork of removeddit....

    Hi! I just joined this site.

    I'm working on revddit.com , a side project I launched in October 2018 that shows you removed content for your reddit account. It is a fork of removeddit.

    Specifically, I'm adding some navigational stuff like the ability to show contextual view of a comment in thread pages, and I am considering changing the domain since revddit is marked as a typo by Google, and its proximity to reddit also seems to cause some Comcast users to see this warning. Fun! My javascript skills are very learn-as-I-go and I am more comfortable manipulating data than I am implementing interfaces.

    I am particularly interested in Tildes because I've been told it does not implement shadow removal of content. I look forward to getting to know this community. - Rob

    6 votes
  10. rain1
    Link
    I have recently finished my scheme compiler and interpreter so I've actually taken a break from coding for a while now. You can see it here and tell me what you think...

    I have recently finished my scheme compiler and interpreter so I've actually taken a break from coding for a while now. You can see it here and tell me what you think https://rain-1.github.io/scheme.html

    6 votes
  11. syzo
    Link
    Short-term (last weekend and this weekend): I became inspired to learn the basics of neural networks after having watched 3blue1brown's playlist on the subject. I followed along with the playlist...

    Short-term (last weekend and this weekend):

    I became inspired to learn the basics of neural networks after having watched 3blue1brown's playlist on the subject. I followed along with the playlist and read chapters 1 and 2 of the book he mentions in the descriptions , and was able to do the "hello world" of neural networks: identify the numbers from the MNIST database -- no fancy machine learning libraries, just me and a linear algebra library :)

    I'm not sure what I want to do with it yet (if anything), so I think I'm going to tidy it up, put my final code up on github somewhere, and shelve it for later. Maybe if I find something interesting to actually do with it, I'll pick it back up and learn some of the fancier NN techniques.

    Long-term:

    I've been interested in audio DSP for a while, but it's been a little bit of a brick wall for me for some reason. I want to figure out the best way to start learning it, and then go actually do it.

    I've created dead-simple VSTs before, but I'm lacking DSP chops to do anything interesting with it yet.

    5 votes
  12. acdw
    Link
    Hey, I just wrote a dmenu clone using fzf, called fmenu. I literally just wrote a post about it (including source code; I need to get it on git somewhere) here. Comments and criticisms welcome!

    Hey, I just wrote a dmenu clone using fzf, called fmenu.

    I literally just wrote a post about it (including source code; I need to get it on git somewhere) here.

    Comments and criticisms welcome!

    5 votes
  13. [3]
    aphoenix
    Link
    Work today: Angular + Django Rest Framework work (which is our typical SPA project workflow). I'm trying to reduce the footprint of the production angular build for a number of projects. Most of...

    Work today: Angular + Django Rest Framework work (which is our typical SPA project workflow). I'm trying to reduce the footprint of the production angular build for a number of projects. Most of them are within the range of "acceptable" but I'm always looking for more optimizations. I'm also trying to finish the unit tests for a big project that I was working on and just... opted to not write the tests for at the time. Backfilling the tests shouldn't be too bad (I like to think that I write easily testable code) but doing it all at once is a bit painful.

    Personal: I've been playing with static site generators, and CMS's for my personal stuff. I think I'm going to regenerate my personal site, and I'm leaning towards Wagtail for it. I've used wagtail a number of times for client projects, but never for personal, and there are a number of things that I want to add in; specifically, I'd like to get back to posting photos that I've taken, and explore what that could look like. I've also been fiddling with a post scheduler for Reddit because the auto-mod one has been hit or miss for me for a while, so I might be able to get that finished soon.

    5 votes
    1. [2]
      SourceContribute
      Link Parent
      Are you me? I spent all weekend wrestling with Angular HTTP client and weird type errors in unit tests, now I'm trying to get Angular and Django REST Framework working with pagination, filtering...

      Work today: Angular + Django Rest Framework work (which is our typical SPA project workflow).

      Are you me? I spent all weekend wrestling with Angular HTTP client and weird type errors in unit tests, now I'm trying to get Angular and Django REST Framework working with pagination, filtering and OAuth.

      Backfilling the tests shouldn't be too bad (I like to think that I write easily testable code) but doing it all at once is a bit painful.

      Sounds "fun" ;p (though Django test code isn't bad to write)

      Wagtail looks awesome: https://wagtail.io/

      2 votes
      1. aphoenix
        Link Parent
        I don't think I'm you, but I've also never seen us in the same room - could be a polkaroo situation! If you want to discuss pagination between Angular and DRF, I'm happy to comment. It's not...

        I don't think I'm you, but I've also never seen us in the same room - could be a polkaroo situation!

        If you want to discuss pagination between Angular and DRF, I'm happy to comment. It's not particularly onerous, and once it's implemented, I find it pretty nice to work with.

        I actually ended up not doing the test code backfilling - too much project management stuff to work on. Had to have a 2.5 hour long architectural meeting / review for a big project. Hopefully more test writing tomorrow though! It won't be actual fun, but I don't like having projects with unreasonable amounts of coverage in a launch situation, so I want to make sure that everything is done right this week so we can finish things off.

        Wagtail is pretty great. I enjoy it a lot, having moved to it from WordPress. I can't recommend it enough, and it's very Django-y, so that's nice.

        3 votes
  14. CrazyOtter
    Link
    I'm working on electrictyMap, specifically building a new parser for Chile.

    I'm working on electrictyMap, specifically building a new parser for Chile.

    5 votes
  15. 0lpbm
    Link
    I'm working on one of tildes competitors based on activitypub. Today I expended my storage objects with better filtering capabilities.

    I'm working on one of tildes competitors based on activitypub.

    Today I expended my storage objects with better filtering capabilities.

    4 votes
  16. Apos
    Link
    Finally got to put some time on my compiler's parser. https://github.com/Apostolique/Vyne-Compiler Found out about Lazy in C# the other day and started using it everywhere. Today I took the time...

    Finally got to put some time on my compiler's parser. https://github.com/Apostolique/Vyne-Compiler

    Found out about Lazy in C# the other day and started using it everywhere. Today I took the time to get rid of that so that's nice. Also managed to refactor my base Parser class so it's much simpler.

    There's more info about the language itself here: https://github.com/Apostolique/Vyne-Language

    4 votes
  17. Diff
    Link
    I've finished cleaning up the code for my Arduino-based accelerometer lantern. As far as I know, I've changed nothing but organization and yet Deep Sleeping and motion interrupts to wake up are...

    I've finished cleaning up the code for my Arduino-based accelerometer lantern. As far as I know, I've changed nothing but organization and yet Deep Sleeping and motion interrupts to wake up are working.

    Now I'm back to adding new animations and features. Added a quadruple-tap gesture to lock/unlock brightness control by twisting the whole lantern on top of triple tapping to swap through animations. Not sure if there's much to add now that sleeping is working to save battery life, looks pretty neat though.

    3 votes
  18. emdash
    Link
    No coding today. Had a meeting with my business partner to discuss the next steps in the creation of our MVP for our two B2B applications. We're super pumped about what's coming up and we think...

    No coding today. Had a meeting with my business partner to discuss the next steps in the creation of our MVP for our two B2B applications. We're super pumped about what's coming up and we think they're going to be highly successful, but right now both of us are working full time jobs unrelated to this, so our frustration at the moment is a lack of time.

    I might work on splitting out some shared code that both applications will use in their clients into an NPM library that can be shared from a private NPM repository.

    3 votes
  19. Wrm
    Link
    Working on my postman replacement Milkman. Currently trying to figure out a more performant way to render big lists for the SQL plugin.

    Working on my postman replacement Milkman. Currently trying to figure out a more performant way to render big lists for the SQL plugin.

    3 votes
  20. asoftbird
    Link
    Working on getting my new website up and running. I'm a web noob and used to have a CentOS server running but the host(a friend) is hard to contact so l opted for my own server on some hosting...

    Working on getting my new website up
    and running. I'm a web noob and used to have a CentOS server running but the host(a friend) is hard to contact so l opted for my own server on some hosting platform. It's €5/mo, low specs and perfect for tinkering with website and linux stuff to get a feel for how it works.

    l'm also thinking of making some Factorio mods; a while ago l made 3D models and graphics for a windmill mod but never got around to coding it (usually it's the other way around lol), so might give that a shot.
    (for the record, here's some old pics of that model https://www.flickr.com/photos/mrburd/albums/72157666501895480)

    3 votes
  21. gpl
    Link
    Writing a simulation for cosmological structure formation for a project at work. It's been a tough but amazing experience, and I've learned a ton about parallel programming (MPI) on the way. I was...

    Writing a simulation for cosmological structure formation for a project at work. It's been a tough but amazing experience, and I've learned a ton about parallel programming (MPI) on the way. I was looking back at code from a few months ago even and I was pretty surprised at how bad it is. At some point I will go back and clean it up but for now I just want to get the damn simulation working so I can proceed with the project, which has been stalled for a bit.

    2 votes
  22. Ephemere
    Link
    I'm working on a simple hobbiest electronics project, using an ESP2866 and a BME280 to create a live website showing the current temperature, humidity and air pressure. This is actually bringing...

    I'm working on a simple hobbiest electronics project, using an ESP2866 and a BME280 to create a live website showing the current temperature, humidity and air pressure.

    This is actually bringing back to life something that I thought I broke maybe a year ago with poor soldering on the BME280, but I'm trying to get back into the swing of things after a few years of looking after small children in my free time.

    So far, amusingly enough, the biggest hurdle has been configuring nginx correctly, as I'm hoping for the website it produces to be globally accessible while also secure. This should have been fairly trivial, but I didn't realize that nginx had it's own, site-config default configuration which was leaving the proxy open against my desires.

    I'm 90% done, I just need to get the website to render everything as expected.

    The stack:
    NodeMCU + BME280 using arduino C to program it.
    perl/Dancer for the host webserver, using SQLite as the datastore and jquery/highcharts to display the live status.

    I'm super looking forward to this being done, so I can move on to something else.

    2 votes