Hacker Newsnew | past | comments | ask | show | jobs | submit | ronbeltran's commentslogin

I have Zoom installed on my Ubuntu 16.04 and its also vulnerable.

https://jlleitschuh.org/zoom_vulnerability_poc/zoompwn_ifram...


Location: Manila, Philippines

Remote: Preferably

Willing to relocate: No

Technologies: (Web Development) Python, Django, DRF, Postgres, Nginx, Gunicorn, Ubuntu, Heroku, AWS

Résumé/CV: https://drive.google.com/file/d/1JygA7BeURmGs9UCHJiKYck3gs4B...

Email: rbbeltran[dot]09[at]gmail.com

Looking for short-term or long-term opportunities with python projects.

Linkedin : https://ph.linkedin.com/in/ronbeltran

Github : https://github.com/ronbeltran


I have been developing https://useragentinfo.co/ as a side project. It's a simple device, browser and OS detection. Currently it's running in a single server setup over linode. By Jan2018 I'll be migrating it to AWS Elastic Beanstalk for stability. This will be my weekend timesink.


Last year around November(2016) I finally had the time to build my first mobile app. My goals are: to learn React Native and build a mobile app and publish it to Google Play. At my previous work I'm pretty much knowledgeable in integrating CRMs (ie.Salesforce, SugarCRM and Highrise.) into Gmail via chrome extension so building API backend wont be a problem. I noticed at that time that only Highrise CRM has no official Anroid/Ios app offering so I decided to implement it myself. Initially I implemented highrise tasks feature and figure out later what the users need via feedback. I completed the app within a month uploaded it to Google Play[0] and built a simple website[1] for it. Being a Highrise user who opt in for their new products announcement, one moring around December (2016) I got an email from Highrise announcing their official mobile apps for android and iOS. So that was it. I had no chance of competing with the official apps. I got around 5 install on Google Play which already had uninstalled my app.

Expenses:

$10 for the domain

$25 for Google Play Developer Fee

around $20 for few months api backend hosting (Digital Ocean $5/month) then I migrated the code and hosted to free Heroku plan to save cost.

[0] https://play.google.com/store/apps/details?id=com.taskongo

[1] http://www.taskongo.com/

[2] https://help.highrisehq.com/mobile/


This general space has a lot of long tail CRMs that companies subscribe to - and they don't have a good mobile support (still in 2017). You may want to see if you can make a "general purpose" interface in the space with minimal common functionality and integrate it with others.


A picture of the $uptime command would have been great!


I can also do this, which is harmful.

    >>> True = False
    >>> False = True


Only in Python 2, since that is a backward-compatibility feature. (“False” and “True” used to be variables containing 0 and 1 before Python had true booleans, many ages ago.) Python 3 makes “True” and “False” be constant values, like “1” or “2”, like they should be.


Only constant for certain values of "constant". ;)

(https://gist.github.com/Jach/1208215 works in Python 3 too.)


After “import ctypes”, all bets are off.


There are ways to mark memory pages as read-only. It's not even difficult.


Why would you do that? That code is working perfectly as intended, the user is allowed to do that


Are there any codes dependent on True and False being assignable? Don't those codes deserve to die?


Yes. There are codes written with backwards compatibility to versions of Python pre-2.3, which did not have True/False. They typically looked like this:

  try:
    True
  except NameError:
    True = 1==1
    False = not True
Such code would likely be at least 10 years old. Given the transition to Python 3, it seems the general answer is "yes, they deserve to die."


Couldn't that be kept compatible by allowing tautological assignments to True/False (True = (1==1), that sort of thing) but throwing an error on all other assignments?

Also, I don't see how that wouldn't be compatible with forbidding assignments to True/False. It'd never execute the except block.


Yes, that specific case is possible with some sort of AST rewriting. But it's only one of several ways to introduce a True into the module or local namespace. Another might be:

  from _compat import True, False, next, enumerate
This is allowed under Python 2, but not under Python 3. As you suggest, it could be made possible to allow an import like this so long as the actual imported value is indeed the True or False singleton. But it's a lot of work with little gain.

While on the other hand, even in Python 2 it was a SyntaxError to say "None = None" or to import None. Extending that check to include True and False is much easier, and consistent with existing use.


The second line doesn't do anything though, since you already reassigned True to False it's like assigning False to False.

You could write (False, True) = (True, False) though.


Python 3 removed this feature unfortunately.


Unfortunately? I'd love to know when changing false to mean true and vice-versa would make sense in any codebase.


>>> (False, True) = (True, False)

>>> 1 if False else 0

1

>>> bool(0) == False

False


Not entirely sure of your point but...

Python 3.4.0 (default, Apr 11 2014, 13:05:11)

[GCC 4.8.2] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> (True, False) = (False, True)

  File "<stdin>", line 1
SyntaxError: can't assign to keyword


But, like the parent said, in Python 3:

    >>> (False, True) = (True, False)
      File "<stdin>", line 1
    SyntaxError: can't assign to keyword


    In[2]: (True, False) = (False, True)
    In[3]: True
    Out[3]: False
    In[4]: 1 if False else 0
    Out[4]: 1
    In[5]: 'yes' if bool(0) == False else 'no'
    Out[5]: 'no'
    In[6]: bool(0) == False
    Out[6]: False
What bothers me here is that when the interpreter says "False", it clearly means the opposite of (the new) False. So by reassigning True and False, I've actually caused inconsistent behavior in python, not just really-confusingly-named behavior. Suddenly False sometimes means one thing and sometimes means something else.


There's no inconsistency, the "False" printed in your console is just the repr of the object, you can give that repr to your own object if you have nothing better to do with your life:

    >>> A()
    False
    >>> bool(A())
    True
    >>> type(A())
    <class '__main__.A'>
A repr is just a representation in development context, nothing more and nothing less, there is no requirement that it be sensible or of any use, though that's certainly recommended (contrary to __str__/__unicode__ which should be silly):

    >>> B()
    A gray parrot
The only "inconsistency" you've created is that False in the console's local namespace does not match __builtins__.False or the interpreter's internal False object. You can still access the former by the way:

    >>> False
    True
    >>> __builtins__.False
    False
unless you also override it:

    >>> __builtins__.False = True
    >>> __builtins__.False
    True
the interpreter still does not care though, you've just broken any Python code relying on the builtin (you can actually alter the "true" False object via ctypes)


Waaa! ... I just did that using 2.7 idle and it worked. This is new for me.

I got stuck for a while trying to back out. Finally figured the way to reverse is to use del(): del(True) del(False).


You could also do True = True == True. It's like Dorothy clicking her heels together three times.


It would be more useful if we can filter the list by Stars, License, Language, Created, Updated.


Click on the headings?


That's sorting, not filtering.


Enable JavaScript, and then click on the headings I think you mean.


That seems closer


Might be Ruby?


What advice can you give to potential founders who will be pitching on events like StartupWeekend,etc.? For us who attended, after someone pitched, random people approached him/her and wants to be on the group. Is it right to just say sorry that you're not accepting potential co-founders with random people?


StartupWeekend is not the best place to really start a company. I know it has been done (and I have done it myself).

Go have fun at StartupWeekend and if you find some people you like working with then do a real startup with them later.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: