@badrihippo
Self-taught programmer. Busy on a lot of projects, none of which are finished.
Being homeschooled, all the programming I learned was by myself and from books, magazines, and, of course, the Internet. Most of my programming is currently just for fun, or for friends and the SSS economy. Currently into web-development, and planning to start on apps soon. Discovered GitHub a few years ago and hope to start actively contributing to open-source projects some time!
Nothing here yet.
No blogs yet.
As @arunyokesh pointed out, I too took some time to switch to DuckDuckGo because the results were so different from Google. But I pushed myself to do it, mainly for privacy reasons—and now I often find Google's results disorienting! For code-related questions, StackOverflow or similar sites are usually among the top results. I've also learned to tailor my search queries to work on DuckDuckGo: I think the style is a bit different from Google, but I can't figure out what exactly it is. There's a kind of logic which is a bit hard to explain, but DuckDuckGo thinks more like a computer and less like a human than Google does. I've seen people type in questions like "How do I verify an email using Python?" into Google. DuckDuckGo works better with a phrase like "python email regex". (Just an example: I don't know of it works for the exact phrases I mention). The bottom line is that, as a programmer, I find it pretty easy understand how DuckDuckGo "thinks". For other (non-programming) topics, the fact that DuckDuckGo doesn't personalise results also made me discover a lot of new sites that I hadn't found earlier. I've read about—and noticed—the Internet Bubble (now also called Echo Chamber), that shows you only the kind of content you already read, which makes you miss out on other ideas and viewpoints. I think it's worth scrolling through few more results if it helps me discover new sites along the way. I have also made it a habit to scroll past the first or second page in case there's more interesting stuff buried in there that I missed. And, as some have pointed out, if I really can't find my result, the Google is just a !g away. Though, nowadays, I hardly use even that.
I have a really slow Internet connection, so it's mainly books for me. Or e-books on my e-reader. Or online docs that I've converted to ePub with the GrabMyBooks browser plugin. Reading books (even converted ones) seems less rushed than reading stuff off a computer screen. So I usually do that to get familiar with the concepts. It also helps me get an idea of what features are available, and what the common development patterns are. After this, I draw out an idea for a project I want to make. Once I have a plan, I have the usual online docs, example code, and StackExchange Q&A to help me while I'm actually coding. git init and I'm ready to go 😉
Thanks a lot for this reply—it made me feel a lot better about the whole thing! This was my first "bad experience" so maybe I didn't really know when to stop trying. Recognising the fact that they were unwilling to work on new concepts also helped, because then I don't have to pay so much attention to their dismissal of my code. I guess I'll let the software lie for a bit...go work on other projects...and then come back to this when it's all cooled off. If nothing else, I've at least learned that people like this exist and won't be so unprepared next time I come across them ☺
Like @lorthirk said, you should probably work on securing your APIs in other ways. But if you decide to go with UUIDs then, I'm not that experienced with databases, but here's what I can gather from some quick googling: UUID storage (at least in some database engines) is less efficient than autoincrement, because those engines store the data in sequential order according to primary key. So, since UUIDs are not sequential but random, the records (or indexes?) will have to be inserted in the correct place in sequential order which can take a lot of effort if you have multiple records. This is okay for small data sets, but once you get to millions this indexing is going to impact your performance. If your data set isn't going to get very large then, depending on the situation, UUIDs might still be a good option. If you do use decide to use UUIDs, use varbinary instead of varchar . varbinary is more efficient because it stores the data internally as a number and therefore also uses up less space. (One such setup is described in this blog post ). By the way, all the above applies only to relational databases (and perhaps not to all of them?). It's mainly because the databases weren't designed with UUIDs in mind. Some of the newer databases like MongoDB use UUID primary-keys by default. Not to say that you must use them or anything, but it's good to keep that in mind 😉
I've always been wanting to do SVG, but at the last moment I get scared because I hear that some browsers won't support it and just show a blank space instead. So I end up exporting my Inkscapes to PNG and uploading 😛 This post has inspired me again, so let me ask—has the situation changed? Is SVG better supported now? With HTML5 and Canvas I'm guessing it has, but...just to make sure?
I've been focusing more on server-side programming till now, so I've never used a front-end framework before. It all seemed very complicated. This also means that I've been doing a lot of the page layout and formatting from the backend itself, as I'm more familiar with templating languages ( Jinja2 ). But I looked through the Vue.js tutorial, and it works just the same way! Thank you—you probably just got me started on front-end frameworks ☺