• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Programming Challenge: Two Wizards algorithm challenge

      I'm running out of ideas, if you have any, please make your own programming challenge. This challenge is about designing algorithm to solve this problem. Let's have game field of size x, y (like...

      I'm running out of ideas, if you have any, please make your own programming challenge.


      This challenge is about designing algorithm to solve this problem.

      Let's have game field of size x, y (like in chess). There are two wizards, that are standing at [ 0, 0 ] and are teleporting themselves using spells. The goal is to not be the one who teleports them outside of the map. Each spell teleports wizard by at least +1 tile. Given map size and collection of spells, who wins (they do not make any mistakes)?

      Here are few examples:


      Example 1

      x:4,y:5

      Spells: { 0, 2 }

      Output: false

      Description: Wizard A starts, teleporting both of them to 0, 2. Wizard B teleports them to 0, 4. Wizard A has to teleport them to 0,6, which overflows from the map, so he loses the game. Because starting wizard (wizard A) loses, output is false.

      Example 2

      x:4,y:4

      Spells: { 1,1 }

      Output: true

      Example 3

      x:4,y:5

      Spells: { 1,1 },{ 3,2 },{ 1,4 },{ 0,2 },{ 6,5 },{ 3,1 }

      Output: true

      Example 4

      x:400,y:400

      Spells: {9,2},{15,1},{1,4},{7,20},{3,100},{6,4},{9,0},{7,0},{8,3},{8,44}

      Ouput: true


      Good luck! I'll comment here my solution in about a day.

      Note: This challenge comes from fiks, programming competition by Czech college ČVUT (CTU).

      15 votes
    2. Good open source projects for beginners to contribute to?

      I'm looking for a project to contribute too. I'm not that experienced with programming, so I want something that isn't too complex. I'm also looking for a fairly young project. Big, mature...

      I'm looking for a project to contribute too. I'm not that experienced with programming, so I want something that isn't too complex. I'm also looking for a fairly young project. Big, mature projects don't really have much that a newbie can work on.

      27 votes
    3. Need advice about Tomboy notes and note apps in general

      I'm looking for some advice on what note programs people recommend. Not a basic text editor, but something capable of doing some basic categorizing, chronological sorting, that sort of thing. I've...

      I'm looking for some advice on what note programs people recommend. Not a basic text editor, but something capable of doing some basic categorizing, chronological sorting, that sort of thing. I've used Evernote most recently, but I'm becoming less and less of a fan. I don't need cloud sync necessarily, although device sync could be handy. A pleasant UI (not fettered with extraneous crap) would be nice, but aesthetic appeal takes a backseat to navigation and stability. Target OS is mostly likely going to be windows 10.

      What are you experiences with note apps, what are your favorites?


      (A bit of context for anyone interested)
      Years ago, I used tomboy notes in Ubuntu for keeping track of timesheets/daily logs. It seemed like a good program to set up for my step dad to use as well. A few years later, Tomboy notes petered out without much fanfare. I've kept his laptop running with that setup for as long as I could, but the hardware is just getting worn out (it's about 10 years old now).

      So! Time to get him an upgrade. This time around, I don't think I'm gonna set up up with Linux. He isn't really up to the task of doing his own troubleshooting in linux (i.e. when an automatic update breaks something), and I haven't even been keeping up on Linux for the past few years myself. So I'm probably going to set him up on a Windows machine.

      I should be able to export the tomboy notes database fairly easy, but it would be a huge load off my mind if I could settle on a decent program to migrate to first.

      Thanks in advance for any input!

      11 votes
    4. Learning to pentest

      Hi, I need your help to learn pentesting. I'm programming for several years. I'm really good in C# and can write moderately complex apps in Dart, Python and JavaScript. I'm in highschool and work...

      Hi, I need your help to learn pentesting.

      I'm programming for several years. I'm really good in C# and can write moderately complex apps in Dart, Python and JavaScript. I'm in highschool and work for software development company as backend developer. But general programming starts to feel so boring...

      I've started to watch LiveOverflow on youtube (no link, there is no wifi here and I don't want youtube to drain my data) and it was so interesting - so I tried it. I've tried few CTFs, read many writeups, and now I've discovered CTF hack the box.

      When I know what to do, I have no problem googling and researching and later applying my knowledge. But I often discover, that I just don't know what I don't know.

      There is one CTF challenge that I haven't completed yet. It's 20 line html page, no javascript, nothing suspicous. No cookies. It has just form with password input, which sends post request to server. Here's the problem - how do I get the flag (the password)? I can bruteforce it, but it clearly isn't the correct way. I know that the php runs on apache, debian. I've tried getting some files, I've tried going up (../), sql injection, nothing works.

      And here's the general problem - what am I missing? What to learn? What should I google? I don't want ideas what I'm missing on this one example - Instead I need some sources where I learn generally about vulnerabilities I can exploit. Some blog, some website, something like this.

      Could someone here recommend me some sources where I learn about this? How did you start and what things do you generally check when you face something you have to break into?

      Thank you

      16 votes
    5. What are the first things you install on a new computer?

      Or phone, or after an OS reinstall, etc. Just got to thinking about it because I did a fresh install of Arch on my chromebook the other day, and I'd be curious what other people's priority...

      Or phone, or after an OS reinstall, etc. Just got to thinking about it because I did a fresh install of Arch on my chromebook the other day, and I'd be curious what other people's priority software installs are. For me, after the basics like drivers, it's xfce, Firefox, Transmission, Libreoffice, and VLC on linux. Pretty much the same on Windows, plus a few utilities like 7zip, PuTTY, and notepad++. For Android installs I grab nova launcher, Hangouts Dialer, F-Droid, NewPipe and MoonReader before anything else.

      EDIT: Forgot firefox on android, as well as ublock origin on all platforms.

      Also not completely sure if this belongs more in ~tech or ~comp.

      17 votes
    6. How do you go from "knowing" a programming language to actually making useful software?

      I'm in a bit of a rutt with my journey to learn how to write software, and I really have no idea where to go from here. I've taken a bunch of software engineering courses on edx.org, and I've done...

      I'm in a bit of a rutt with my journey to learn how to write software, and I really have no idea where to go from here. I've taken a bunch of software engineering courses on edx.org, and I've done a few personal projects with what I've learned, but I still don't know enough to be able to contribute to open source projects or make anything useful.

      TL;DR
      How can I learn to actually make things?

      28 votes
    7. Ultra-minimalist "one line" Firefox

      I mainly use my keyboard to navigate around in Firefox so decided to edit UserChrome.css to create a custom, ultra-minimalist "one line" UI for myself and also maximize my screen real-estate by...

      I mainly use my keyboard to navigate around in Firefox so decided to edit UserChrome.css to create a custom, ultra-minimalist "one line" UI for myself and also maximize my screen real-estate by removing the window Titlebar and Tab Bar (using Tree Tabs sidebar extension instead). I also dislike how cluttered the Firefox interface is with unneeded options scattered everywhere, and how much redundancy there is with many options showing up in multiple places for no good reason, so I removed most of that as well. Here is the results:

      Main UI (Navigation and "Hamburger" toolbar buttons removed)
      Tree Tabs sidebar & More Tools both open
      "Find in page" moved to the top, with Menu bar also toggled on
      New Tab Page (my Bookmark Toolbar auto-unhides itself only on this page)
      My Home Page, set to the FF Library "popout" page (chrome://browser/content/places/places.xul)

      Context Menus (with lots of redundant and unused options removed):
      Address bar dropdown
      Page context menu
      Image context menu
      Link context menu


      If anyone is interested in trying it out themselves, here is the UserChrome.css (which needs to go in the /chrome directory of your Firefox profile).

      And if enough people are interested in learning Firefox UserChrome.css customization using the Browser Toolbox with remote debugging, I can always write up a tutorial at some point. There are some decent resources already available over at userchrome.org and reddit.com/r/FirefoxCSS/ too.

      26 votes
    8. Reading Series: The Phoenix Project

      Hey Tildes, Any interest in a weekly reading series of The Phoenix Project, by Gene Kim? It's a fantastic novel on IT infrastructure, process control, and promoting dev ops culture.

      8 votes
    9. Weekly Programming Challenge - making our own data format

      Hi everyone! There was no coding challenge last week, so I decided to make one this week. If someone wants to make his own challenge, wait few days and post it. I'm running out of ideas and I'd...

      Hi everyone! There was no coding challenge last week, so I decided to make one this week. If someone wants to make his own challenge, wait few days and post it. I'm running out of ideas and I'd like to keep these challenges running on Tildes.


      Everyone here knows data formats - I'm talking about XML or JSON. The task is to make your own format. The format can be as compact as possible, as human-readable as possible, or something that's really unique. Bonus points for writing encoder/decoder for your data format!

      How do you handle long texts? Various unicode characters? Complex objects? Cyclic references? It's up to you if you make it fast and simple, or really complex.

      I'm looking forward to your data formats. I'm sure they will beat at least csv. Good luck!

      8 votes
    10. Advice on how to make a personal website

      Hi, I want to make a personal website, as basic as possible (I don't even want SEO or stuff like that). This is totally a personal project, I don't want to generate revenue from it or anything...

      Hi,

      I want to make a personal website, as basic as possible (I don't even want SEO or stuff like that).

      This is totally a personal project, I don't want to generate revenue from it or anything like that (at least for now), I just want an old school website to link it to possible employers and contacts. I have about 12 years of coding experience but mostly low-level (DSP, ASM, C, C++) and scientific code (Python, R, Julia). So I'm not scared of doing it from scratch (even though it will be much uglier in the beginning than pre-generated websites) or using some basic lightweight libraries.

      Until now I have been using github pages but I want to put some projects that require server side work, so I'll probably have to host somewhere else. I really like tildes' technical goals, but I don't know if the stack it uses is overkill for a personal website (I know I will need some database for some of the projects though).

      My questions are:

      • Is Pyramid a good choice or is it more appropriate for huge multiuser platforms? I do need some level of interaction between users (some of my more artsy projects are related to NLP) as well as interaction between user-server (some projects include simulations with parameters etc.).
      • How does hosting/DNS work? How much should I expect to spend per year? I know there exist hosting services and also places like Heroku, I don't really know the difference between them or what should I be looking for.
      • How much should I worry about security? In other words, what is the threat level? I don't plan to have confidential info in the website, or information about the users (other than a hash value). But should I be worried about other kind of threats?
      • Is making a website as basic as possible and then keep on improving it as time goes a sound plan for a long-term personal project? With this I mean, will it be fun or will it be 100% frustrating and I should just go to (whatever hosting service that has premade web applications) and make my website there even though it will be bloated with scripts and stuff?
      • Is there something I'm not asking that I should be asking? As I said I know how to code but it feels like web development is a completely different beast sometimes.
      • Is there any compelling reason for me to use google analytics, SEO, all that stuff that big websites use? I have never understood the point for it in, for example, github pages.

      Thanks for your help! Feel free to correct me on any stupid thing I may have said, I definitely speak from ignorance.

      Edit: My biggest issue with this kind of format for conversations is that I cannot thank everybody at the same time, and responding to everyone with a thanks is definitely not contributing anything to the conversation. So I'll put it in an edit. Thanks for all your help! I'll probably be coming for more advice soon...

      22 votes
    11. Self-directed learners of programming, sysadmin topics and so on: what is your approach to material that is too advanced?

      First post: hello Tildeans! In fairness, the title question no doubt applies to those on traditional courses/paths too - such is software. Anyway -- in my experience, reading technical material...

      First post: hello Tildeans!

      In fairness, the title question no doubt applies to those on traditional courses/paths too - such is software.

      Anyway -- in my experience, reading technical material which is too advanced is without a doubt the most intellectually confusing, emotionally damaging, and personally rewarding part of learning about software development. How about you?

      I started basically from scratch last September without any knowledge about programming or Linux except a very brief stint in 2010. I'm a somewhat disorganised person (to say the least), and my learning habits have reflected that: I've followed my nose and impulse, reading pretty much whatever I've felt like. But I've ended up with a presumably ridiculous ratio of hours reading about code vs hours actually coding.

      I'm a lazy person, so I'd rather sit and struggle with something I am definitely not ready to understand than go sit in front of a REPL, working from the ABCs til I can do the A-Zs. But the longer I look into things, and the more I play, the more I realise how much coding is like an instrument -- you really do have to just sit down and practice your damn scales! My experiences also support the argument for that 'T-shape' style of mastery (learn one thing very well, then branch). 20-odd Project Euler problems in a week or two has taught me far more than several months half-reading or half-listening to online material.

      (Though, I think my 'inverse-T' approach simply has it's own set of trade-offs, rather than being plainly weaker, but that's for another discussion...)

      The most ridiculous thing about this field is that there is no end to things you've never heard of: and I hate not having heard of things. My usual style when getting into a new obsession is to read very widely, but it feels like this is at best wasted effort here, if not actively counter-productive. It takes just a few clicks through HackerNews (or say, a read of some of the comments on Systems Programming topics) to find a paragraph that is entirely impenetrable to me. Man, that pisses me off. I think maybe as an ego-defense thing, I've always tried to get a 'gist' of the conversation or topic, but I reckon now this probably just breeds half-formed misunderstandings at best (Alexander Pope, "a little learning is a dangerous thing" etc etc).

      Over the past couple months I've made far more visible progress than in any before, and I think a large part of that is learning how to admit when I am completely unable to access some sentences written in English, and how that's totally fine. My path is a lot clearer, and a visceral notion of sub-goals and stages of learning is a really nice thing to have. It's very relaxing to skim a blog post that goes completely over my head and think 'NBD'.

      So, what are your experiences? Blocked by hubris/a short attention span like me? Or perhaps the opposite problem - finding you could grasp way more than you gave yourself credit for, after sticking too long with what you already knew? (These questions definitely intersect with things like perfectionism and imposter syndrome.)

      I'm really curious to hear how you've dealt with things you feel you 'should' understand -- or how you manage the sheer volume of potentially-useful information out there (RSS, Pocket, something else?). Thanks for reading.

      14 votes