Domain: readthedocs.org
Stories and comments across the archive that link to readthedocs.org.
Comments · 20
-
Re:I'm old enough to remember
What the **** were you writing?
First problem is the Perl/Python environments that ship with your OS change between OS releases, and not all OS's even have these runtimes. Even if they did, they'd be different versions all with different sets of bundled libraries. So we have cygwin, rhel5, rhel6, rhel7, ubuntu, solaris, etc. all with slightly different perl/python environments.
To solve that you have to compile the whole runtime yourself, with add-on modules/libraries, and support your multiple platforms while at it. (because we're talking about portability, right?) Summing it up - a god-awful NIGHTMARE.
Jesus Christ, was your last programming gig back in the 70s? Package and version management has been a non issue on both languages for ages now. Python even has a fantastic sandboxing tool called virtualenv, widely used in conjunction with pip, which means you can basically install Python program of any complexity, from scratch, with a single command. This includes dependencies which might not be the same version as the one used by the rest of your system. Good luck doing that with Java when your dependencies or JVM doesn't match the exact version number required by your jar file.
-
Shared hosting
From Introduction:
The client requires root access
Because a shared web hosting customer is not root, the hosting provider will have to install Let's Encrypt on behalf of its customers. I plan to open a support ticket with my hosting provider to request installation of Let's Encrypt. What are the most likely objections that a hosting provider might have to enabling this?
-
Applications on other side of Internet
Unless you happen to live in an area whose best home ISP is Google Fiber, the Internet as a network works without Google. But one still needs an alternative to the applications on the other side of the network.
Search: In my experience, Bing search was not nearly as effective. The last time I tried Bing It On, Google beat Bing on 3.5 out of the 5 queries, probably three Google wins, one Bing win, and one draw. So what search engine "works fine" in your opinion?
Video sharing: What site other than YouTube for public sharing of videos works "just fine", especially if they're in categories that Vimeo chooses not to accept? Vimeo's guidelines ban use of video game footage, such as in a review of a game, and are unclear about what makes a production company "independent" or where "showcas[ing] your creative work" ends and "upload[ing] videos with a commercial intent" begins. Or are people instead supposed to lease a virtual private server and learn how to install something like MediaGoblin? In that case, how do you go about getting other sites to federate with you for automated recommendations?
Sponsorship: Without AdSense, how should a small site go about attracting sponsors to pay its hosting bills?
Federated login: When a website offers a choice between "Log in with Facebook" and "Log in with Google", which is less evil and which is more likely to do the right thing?
Mobile operating system: Is Amazon's Fire OS substantially less evil than Android with Google Play?
-
Re:Looking to move off of iTunes
Not a mac user myself, but I use Quod Libet on both Linux and Windows for my 621 album collection of FLACs, and there's a mac version as well. It's written in Python using GStreamer for the audio support, so I suppose file support depends on what GStreamer can play on your platform. I'm pretty happy with its tagging support, it will bulk-tag selected files and can move/rename files if you want, great for when the track database gave the ripper "Sound Track CD 1" and "OST Disc II" (musicbrainz is just as shit at consistency as freedb).
-
Re:Different from Jails?
Talk about high level requirements?
Lets use an already existing jail manager:
Then it's just a matter of figuring out a setup config that is both extensible but KISS.
$ cat repo/config.yml
jail: myawesomejail
packages:
- nginx
- nmap
- mysql-server
- python3.4Then maybe a 'faux filesystem' of stuff to copy.
$ cat repo/usr/local/etc/nginx.conf
# My super special nginx configThen some sort git hooks/scripts and config parser for git. I prefer python but just because I'm learning it. But if it was done it tcsh or sh it would work 'out of the box' on a bare bones FreeBSD.
Then figure out a way build a nanobsd build that you could install to a flash drive that would contain a bare bones FreeBSD install to act as 'dom0' and some way to point it to some ZFS pools.
All managed through Git/Gitolite.
Then all of your config files are versioned and you have to commit and push them to be active. Need a way to start/stop.
Anything I'm leaving out? I don't do this for a living, I just want something stupid easy to make new jails.
-
Re:trick question
The answer has to be 0 right?
Close: you just need to know about Hy. Get the good parts of Python without the whitespace bullshit. You have to be willing to use a lisp dialect, but I'd rather do that than use pure Python any day.
-
Re:Not as easy to read as Python though
Exactly. Having used Java in an enterprise setting for many years, and having had the good fortune to move to Python, I couldn't be happier. I realised how much more verbose Java was than its Python equivalent. Even if you overlook that - there's an inherent structural complexity that Java engenders to its code - one only need look at the Python equivalent to see why. For example, take a look at a basic Hadoop WordCount example here: http://wiki.apache.org/hadoop/... Now compare a rough Python equivalent here: http://mrjob.readthedocs.org/e...
It's not just stuff like the lack of lambdas (it looks like Java 8 has fixed this), or the static typing that contributes to this complexity. I suspect that the culture that has sprung up around Java favours over-architecting and over-engineering, which is exacerbated by its statically typed nature. The Java language itself is simple enough.
In contrast, there is a cult of simplicity around Python, and the language itself has a high-level of expressivity, allowing for a clearer exposition of one's intent - instead of burying it in layer upon layer of abstraction built to please the language and its type system. C# is a language that fares much better than Java in this regard - it's a lot cleaner. For starters - no type erasure! -
DXR, the code indexer
Wow, what an easy pitch.
:-) At Mozilla, we've put together a tool called DXR ( https://github.com/mozilla/dxr... ). It indexes your code and lets you do text and regex searches. But if you can get your project to build under clang, you can really have some fun, with queries that find...* Calls of a function (great for dead code removal)
* Uses a type
* Overrides of a method
* Uses and definitions of macros
* etc., etc., etc. There are something like 24 different structural queries you can do.Because all of this is informed by the internal data structures of the clang compiler, it's nigh on 100% accurate (aside from more dynamic behaviors like sticking function pointers in a table and passing them around). You can also explore a hyperlinked version of the source, bouncing from #include to #include and drilling into methods.
Here's how to set it up: https://dxr.readthedocs.org/en...
Here's our production instance you can play with: https://dxr.mozilla.org/mozill...If you run into trouble, pop into #static on irc.mozilla.org, and we'll be happy to help you.
-
Re:Bad analogy
> It is good for handling matricies of identical types of element doing the same thing on each entry.
Actually, that's MATLAB. Julia does not give matrices any special treatment - it has a type system that is rich enough that you can define an entire matrix domain-specific-language inside it (which is exactly what they did - Julia's matrix operations are defined entirely in Julia itself, yet are still blazing fast because they call external libraries). http://julia.readthedocs.org/e...
Plus, whereas MATLAB kind of forces you to do vector operations, in Julia you can do it either way. You can do it the C way if you like, or the MATLAB way. The 'right' way depends on what you want to achieve (code clarity, performance, etc.)
The benefit of this is that you can define a language for dealing with data (similar to R) inside Julia. That's what the DataFrames.jl package provides.
-
domain != dyndns
There is a little confusion here. Dynamic DNS means the domain record is constantly updated to point to the correct IP address. Its completely independent of domain registration. godaddy does not offer a dyndns service. Most dyndns services do not offer domains.
DynDNS is useful if you want to be able to always contact a box on a domain, but it's got a dynamic IP address - i.e. typically for running a server on a home box. I use it to ssh into home when I'm away, I just do ssh mydyndomain.org and don't need to worry about IP addresses.
I have had domains with godaddy in the past, but I've always used dyn.com as well.
It is possible to use a script to update your A record through your registrar's web interface, but this will break every time they update the site.
P.S. I recommend not using godaddy. -
Re:GCC etc.
the longer version of what you started above is here: http://hpcbios.readthedocs.org... (different people need different subsets, but the total is a safe bet)
-
Re:Downloadable database
Oh, cool. You can run your own server and it's compatible with Google's API.
-
Integrate Mozilla Circus with whatever. Move on!
Mozilla Circus renders the system-level init mechanism almost moot. Besides, things like systemd and udev aggressively couple system-level facilities with the GUI user-space system (via DBUS messaging, etc.). These designs are about as anti-Linux/UNIX as it could possibly get. From hard experience, I can attest to the pain down the anti-Linux path
... -
Re:Python
>> Python and C++, because numpy/scipy can't do everything
Yes, definitely true, and it's actually pretty easy to use them together.
If you don't want to write C++ however, there are a couple other options:
Cython - basically let's you generate c/c++ by writing Python like code and is very easy to use interacting with Python. It keeps the Cython parts of your code super fast, like straight up C.
http://cython.org/Pypy - a super fast version of Python. If you write Python code yourself, and don't use off the shelf Python stuff, Pypy is crazy fast. (About C speed in my own tests of doing C like things.) Pypy gets slower if you use a lot of other Python code that wasn't written with Pypy in mind, but even then it's still normally much faster than regular Python. Using Pypy, you might just be able to write all the code in it and not have to bother with anything else.
http://pypy.org/Both of these are easy enough that you can be up and running, writing/using new code, same day as downloading.
Finally, even if you are calling other code from C/C++, there's some new tools to make that easier. CFFI is a good example. It makes calling C/C++ pretty easy. I'm not sure how ready it is for a lot of real world use though.
http://cffi.readthedocs.org/en/release-0.7/ -
Re:Python
Yes, I did my master's thesis using simpy / scipy, integrated with lp_solve for the number crunching , all of which was a breeze to learn and use. It was amazing banging out a new recursive algorithm crawling a new object structure and just having it work the first time without spending several precious cycles bugfixing syntax errors and chasing down obscure stack overflows.
I used the psyco JIT compiler (unfortunately 32-bit only) to get ~100x boost in runtime performance (all from a single import statement, woo), which was fast enough for me... these days I think you can get similar boosts from running on PyPy. Of course, if you're doing more serious number crunching, python makes it easy to rewrite your performance-critical modules in C/C++.
I also ended up making a LiveCD and/or VM of my thesis, which was a good way of wrapping up the software environment and dependencies, which could quickly grow outdated in a few short years.
-
Python bindings
A set of Python bindings similar in scope to SDL 1.2's Pygame has been released: sdl2.ext.
-
Re:Mars orbital failure
Should've used Pint.
-
Re:RUpy
How about a Ruby implementation written in Python? (Topaz)
http://topaz.readthedocs.org/en/latest/blog/announcing-topaz/
-
Re:Software Suggestion, Pointers
For the type of things you're looking for, I'd recommend LocalWiki. While so far it's been used mostly by communities vs municipalities, it includes robust permissions, is under active development, and is built w/ some nice geo-extensions for where that's applicable. It's very easy to get up and running and you could run a micro EC2 instance to test out for (practically) free.
LocalWiki is the outgrowth of the amazingly successful http://daviswiki.org/ which spawned http://wikispot.org/ Encouraging and supporting this type of local non-commercial wiki is great for any community.
-
Software Suggestion, Pointers
For the type of things you're looking for, I'd recommend LocalWiki. While so far it's been used mostly by communities vs municipalities, it includes robust permissions, is under active development, and is built w/ some nice geo-extensions for where that's applicable. It's very easy to get up and running and you could run a micro EC2 instance to test out for (practically) free.
I'd also suggest that you try to connect w/ others that are doing similar things. There's a large community of civic hackers. For those working directly w/ municipal govt, check out the Code for America Brigade, a community that's all about that and can provide help/support for exactly this sort of thing. You may want to check out their deployable app list, and maybe also check out CfA's github repository which has a lot of projects that may be useful, and their Civic Commons project which gathers the sw/infrastructure that cities are using.