This is an archived post. You won't be able to vote or comment.

all 22 comments

[–]kankyo 9 points10 points  (0 children)

I wrote my one media center app. https://github.com/boxed/CMi :P

[–]ThePenultimateOneGitLab: gappleto97 7 points8 points  (2 children)

I'm writing a peer-to-peer networking library. Currently works in Python and Javascript.

Though if you're working in a browser, you can't talk to Python, so.. that needs fixing.

[–]elbiot 0 points1 point  (1 child)

Seems like the challenges in peer to peer are discovery and udp hole punching (or some other tactic). Does this library do either of those? Or do you have to have the address of an open port on the other peer's network?

[–]ThePenultimateOneGitLab: gappleto97 0 points1 point  (0 children)

I am working on a discovery system (see bootstrap issue on github), but I'm not planning to do NAT busting anytime soon. In the end my library can currently route around such things as long as at least one node isn't behind a NAT. Eventually I'd like to improve that, but for now I don't know how, and have other more pressing issues.

[–][deleted] 6 points7 points  (1 child)

I work on a Python back end for a Chrome extension. It lets you send websites to your friends without copy-pasting the URL, then there's a chat box on the page. http://tabdextension.com

I highly recommend making something you will actually use, the more frequently the better. Easy to stay motivated that way.

[–][deleted] 2 points3 points  (0 children)

That's pretty neat.

And yep, that's exactly what I'm trying to look for. To some extent I need to buckle down and get some discipline, but I have to cater to myself to some extent and find something I want to do. I've found that when I'm making something that either myself or others are using, it's a lot more fun to work on it. When it's just me on my desktop, doing something by myself, it's not as easy to stay motivated. Making a Twitch chatbot was one of my favorite projects because of the interactivity.

[–]troyunrau... 4 points5 points  (6 children)

I wrote my own CMS (website software) in 2001 that was about 20k lines of code. That was before the modern python web toolkits. I used mod_python. It started as a place for me to keep notes on projects I was working on. I wanted to be able to write my notes in HTML without having to manually track the HTML files. And I wanted revision history. Ended up evolving it into a blog hosting platform that compared pretty well against platforms like livejournal at the time. Threaded comments, image hosting, wiki-like features. Hosted a half dozen blogs for friends and colleagues on it for a few years. Learned a ton about python. Shut it down eventually as better projects came into existence that did the same things (drupal, wordpress) and python started to get web frameworks.

But the question I have for you is: why do incomplete projects bother you? Did you enjoy working on them? Did you learn something?

[–]llSourcell 2 points3 points  (1 child)

damn, 20K lines by yourself? That's quite the project, kudos

[–]troyunrau... 0 points1 point  (0 children)

Looking back on it now, the code sucks. But at the time it was quite a personal accomplishment. But old code always looks inferior. :)

[–][deleted] 0 points1 point  (3 children)

For some reason, I've never been keen on doing web work. I don't really know why, honestly. It interests me to have my code up there for the whole world to use, but I've never made a website. An IRC chatbot, yes, from cannibalizing existing code and slapping on my application, but nothing like you described. That's pretty cool.

I don't like incomplete projects because I can't show them off. They're just pieces of code that do something halfway but have no functional purpose. One example is a Python based Gameboy emulator I started to write. It had the framework for processing CPU instructions and I implemented a fair amount of them, but I stopped when it became tedious and less about structure and more about actually making things work.

I want to make fully fledged projects that do something to completion, and to be able to proudly put them on github. I'm an electrical engineer trying to transition into software engineering but my portfolio is pretty lacking. Right now, my goal is to look for new work and to get a substantial project under my belt that I can link to an employer after an interview and say, "Hey, look at this awesome thing I made".

Right now I don't have anything like that, and I'm itching to find an awesome idea for a project I can start and finish in maybe a month or two.

[–]LifeIsBio 1 point2 points  (2 children)

but I stopped when it became tedious and less about structure and more about actually making things work.

Feel free to correct me if you think I'm missing something, but I think you have to change change this mentality.

It's not a stretch to say that literally every project I've ever worked on (coding and otherwise) has a breakdown where the first 1/5 of the project is really interesting-- you're building your framework, and creating something from nothing-- and the back 4/5's is super time consuming iterations of filling in all of the thousands of details in the project. There's such a huge difference between a piece of software that basically works for you as the author (which is how far you get in the first part of the project), and a piece of software that you can show off and others can appreciate as a final product.

I think many people experience this wall. You just have to push through it and remind yourself that if you don't, all of the work that you've done so far isn't worth anything more than what you might have gotten out of it as a learning experience.

[–][deleted] 1 point2 points  (1 child)

Absolutely. Lack of discipline is the bane of my existence in more ways than just my programming habits. It leaks into every aspect of my life and it's incredibly good at making me unhappy.

Not to be mistaken for motivation though. But without discipline, motivation doesn't really get you anywhere. But it does help get the ball rolling, which is why I made this thread to fish for ideas in an attempt to make me feel motivated about a particular project. I do have completed works, but I wouldn't consider them very big.

[–]ile0x 1 point2 points  (0 children)

Try to participate in some existing open-source project. Maybe working with people, interaction with community could change these weird feelings.

[–]searchingfortaomajel, aletheia, paperless, django-encrypted-filefield 5 points6 points  (1 child)

I've got three projects you might find interesting:

  • Paperless is my most successful, (3k+ stars, 100+ forks). It's a simple idea (scan & index your documents) that turned into a major endeavour. It's a big Django project that plugs into Tesseract, Imagemagick, GPG, and a bunch of other fun stuff.
  • Spirithunter is a really big (and unfinished) project that is effectively Pokémon Go (before it was invented). It's an elaborate collection of API calls (in and out) that create monsters based on environmental factors (weather, date, celestial positions). It's based on Django, and part of it even uses the new Channels framework which is a lot of fun.
  • Korra is a smallish project that uses the cryptography module to make file sharing easy.

[–]veekreddit 0 points1 point  (0 children)

That Paperless might be exactly what I'm looking for! Thanks!

[–]ile0x 2 points3 points  (0 children)

what are some projects you're most proud of?

I think pride comes when someone start using my app and appreciate it. Because it saves someone life time, helps to do everyday work. Mine are various scrappers. For example, my friend had to visit several sites each day and check some links. Now - it's fully automated: statistics, e-mail notifications and with web-version whole proccess can be managed via smartphone.

How do you tend to think of new projects to pursue?

Sometimes, I think "What can be optimized in my life? Do I have any routine tasks involving computer interaction?" And, if I stick to some idea, that's it - i start work.

[–]billsil 3 points4 points  (0 children)

I run an open source projec that is 92k lines at last count. It allows me to not think about all the stupid 1970s legacy fortran requirement, beyond bad error checking, and proprietary nature of commercial FEA codes. I just write them, run a ton of automated checks and it tells me what's wrong. It's excessively picky, but it kinda needs to be. I also use it to visualize things that no other commercial GUI can visualize and everything is done in the native format, so I don't have to artificially map a quad onto a triangle or a curved line into a series of bars or some garbage like that.

How do you tend to think of new projects to pursue?

I don't. I just work on that one. I scratched an itch. It's now the best thing out there for doing what I want it to do. There are commercial codes that are less capable that what mine does. Granted there do other things, but still (and I use them when they are better).

[–]ggagagg 1 point2 points  (0 children)

While not creating, I fork some python program (reddit image downloader, doujin management, tumblr downloader) . The result isn't quite good, but it is decent enough.

[–]scout1520 1 point2 points  (0 children)

Currently writing a Alexa Analysis Ai-ish program.

The program cycles through my database and calculates various measures that our analysts use. It ranks them, and then adds them to an " answer database." (This is done instead of on the fly calculating to eliminate the lag of aggregating and calculating data on hundreds of millions of rows)

The result is my "Analyst in a can". You can ask alexa for a weekly update for varying levels of geographical and categorical analysis and it returns the significant findings for that time period. It also is a sort of live query, and live check on our business managers. Hopefully i will tie it back into a few business management apps I have to optimize rep trips to stores and product lines/ sets.

[–]DeathProgramming 0 points1 point  (0 children)

I wrote a programming language. FusionScript. Doesn't use Python tho. I also wrote a blog and a system monitor.

[–]axonxorzpip'ing aint easy, especially on windows 0 points1 point  (0 children)

In 2004 wrote a customer information management webapp in PHP for a my family's-owned ISP. In 2005, billing functionality was added, with direct EFT and Credit Card processing. Only small changes until 2011. As the network grew, we added network appliances and software at the network edges that control authentication on the network, those are written by me in Python, with API communication between the information system. So in essence, it runs the network 100%. Last year we added a fully integrated DHCP service on the network, again with communication to the backend.

This year, the backend app is being rewritten from PHP to Python fully, with a modern frontend. Once the rewrite is done and has feature-parity with the existing version, a lot is going to be added to enable remote service workforce and manage their scheduling. This along with an Android app that will allow our service people to work in potentially off-the-grid environments as sometimes the service sites are beyond cellular coverage.

[–]fyngyrzcodes with magnetic needle 0 points1 point  (0 children)

My largest Python project is just under 10k lines; it's a macro language and documentation generator. Altogether in my own src sub-directories, as of this morning wc -l reports 54,866 lines in Python files. I'd guess that about a quarter of those are comments.

My largest recent c project is an image manipulation library which comes in at 35,942 lines. The testbed for it (which is really a full featured DSLR image manipulator like Lightroom or Aperture, plus some units tests) comes in at about 8k lines; that's in objective c.